2016-04-19 3 views
0

При использовании pcolormesh в matplotlib Я могу получить сетку, используя параметр edgecolor. Я хочу, чтобы эта сетка будет ровно 1 пиксель в ширину, без антиалиасинга:1 пиксельная линия сетки в pcolormesh

plt.pcolormesh(x_bin_edges, y_bin_edges, z, edgecolor='k', linewidth=1, antialiased=False) 

Но этот код дает мне сетку, которая 2-3 пикселей в ширину (крошечные красные черточки добавляют в качестве визуального гида):

linewidth=1

Уменьшение ширины линии дальше (сказать 0.1) дает мне линии сетки, которые 1-2 пикселей в ширину:

linewidth=0.1

Уменьшение ширины линии не похоже на что-либо. Как я могу получить все линии сетки до ширины 1 пикселя?

Я использую сервер Agg для создания png-файлов в matplotlib 1.4.2 в python 2.7.8.

ответ

0

основе this ответа, я использовал ax.grid вместо этого, который производит линии сетки 1 пикселя так же, как я хочу:

fig, ax = plt.subplots(1, 1) 

ax.grid(True, which='minor', axis='both', linestyle='-', color='k') 

ax.set_xticks(lon_grid, minor=True) 
ax.set_yticks(lat_grid, minor=True) 

ax.set_xlim(lon_grid[0], lon_grid[-1]) 
ax.set_ylim(lat_grid[0], lat_grid[-1]) 
Смежные вопросы