Вы можете изменить цвет сетки на тот же цвет, что и квадраты (вместо темно-серого по умолчанию). Итак, «черный» в случае примера в вопросе. (print(matplotlib.rcparams['grid.color']
показывает цвет сетки по умолчанию: '# b0b0b0'). Таким образом, сетка невидима на черных участках графика.
Поэкспериментируйте со стилем линии и / или шириной линии, чтобы сделать сетку менее заметной.
В приведенном ниже коде я изменил изображение до 20x20, чтобы черные квадраты были хорошо отцентрированы и убрали нижние метки. Цвета не обязательно должны быть черно-белыми, хотя сетка будет невидимой только на квадратах того же цвета, что и сетка.
import numpy as np
from matplotlib.colors import ListedColormap
import matplotlib.pyplot as plt
m = np.zeros((20, 20))
for i in range(20):
for j in range(20):
if 45 <= abs(i-9.5)**2 + abs(j-9.5)**2 <= 65:
m[i, j] = -0.1
plt.matshow(m, cmap=ListedColormap(['indigo', 'gold']), extent=(0.5, 20.5, 20.5, 0.5))
plt.xticks(range(1, 21))
plt.yticks(range(1, 21))
plt.tick_params(axis='x', bottom=False)
plt.grid(c='indigo', ls=':', lw='0.4')
plt.show()
![example plot](https://i.stack.imgur.com/0Jhef.png)