我正在使用pyplot.matshow来绘制矩阵,并尝试使用plt.gca().set_axisbelow(True)
使网格线显示在绘图后面,但它们始终位于顶部。如何使网格线在matshow后面绘制
import numpy as np
from matplotlib.colors import ListedColormap
import matplotlib.pyplot as plt
plt.rcParams['axes.axisbelow'] = True
m = np.zeros((21, 21))
m[14:17, 12:14] = -0.1
plt.matshow(np.ma.masked_equal(m, 0), cmap=ListedColormap(['k', 'w']), extent=(0.5, 20.5, 20.5, 0.5))
plt.xticks(range(1, 21));
plt.yticks(range(1, 21));
plt.gca().set_axisbelow(True)
plt.grid()
注:编辑为仅打印注释中注明的非零零件
可以将栅格的颜色更改为与正方形相同的颜色(而不是默认的深灰色)。因此,在问题中的例子中,“黑色”。(
print(matplotlib.rcparams['grid.color']
显示默认网格颜色:'#b0b0')。这样,网格在绘图的黑色部分上是不可见的尝试使用线条样式和/或线条宽度,以降低栅格的突出程度
在下面的代码中,我将图像更改为20x20,以使黑色正方形很好地居中,并删除了下部的XTICK。颜色不需要是黑色和白色,尽管网格仅在与网格颜色相同的正方形上不可见
相关问题 更多 >
编程相关推荐