matplotlib:matshow在图像顶部有网格线

tw

我正在使用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()

注:编辑以仅绘制非零部分,如注释中所述。

约翰·C

您可以将网格的颜色更改为与正方形相同的颜色(而不是默认的深灰色)。因此,在问题示例中为“黑色”。print(matplotlib.rcparams['grid.color']显示默认网格颜色:“#b0b0b0”)。这样,网格在图的黑色部分不可见。

尝试使用线型和/或线宽以使网格不太突出。

在下面的代码中,我将图像更改为20x20,以使黑色正方形很好地居中并删除了下部的xticks。尽管网格仅在与网格相同颜色的正方形上不可见,但颜色不必是黑白的。

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()

样例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

图像处理:应用滤镜后图像有网格线

来自分类Dev

使用matplotlib,如何将xlabels移到顶部并在网格线之间将所有标签居中?

来自分类Dev

在SecondaryAxis上绘制网格线-Matplotlib

来自分类Dev

有没有办法在等高线图的顶部放置网格线?

来自分类Dev

带有 for 循环的网格线

来自分类Dev

调整Matplotlib imshow中的网格线和刻度线

来自分类Dev

无法使较小的网格线出现在matplotlib图中

来自分类Dev

matplotlib中未显示原始的主要网格线

来自分类Dev

在matplotlib中,有没有一种方法可以将网格线设置在小节/线/面之下,同时保持刻度线在上面?

来自分类Dev

带有较粗网格线的jxtable

来自分类Dev

仅在x轴上没有小网格线

来自分类Dev

iOS 8.1中带有网格线的核心图

来自分类Dev

删除 Google Charts API 中的所有网格线

来自分类Dev

如何绘制具有相对距离的水平网格线?

来自分类Dev

奇怪的网格线行为

来自分类Dev

网格线未显示

来自分类Dev

JFreeChart网格线颜色

来自分类Dev

奇怪的网格线行为

来自分类Dev

自动将y轴文本和网格线对齐到ggplot的底部和顶部

来自分类Dev

Matplotlib的matshow不与网格对齐

来自分类Dev

删除网格线,但保留框架(matplotlib中的ggplot2样式)

来自分类Dev

使用Seaborn将较小的网格线添加到Matplotlib图中

来自分类Dev

在清除所有网格线后,如何删除Excel电子表格上的所有网格线?

来自分类Dev

CSS可见的网格线

来自分类Dev

在Cartopy地图中绘制网格线

来自分类Dev

使Matlab网格线更可见

来自分类Dev

避免PHPExcel中的网格线

来自分类Dev

JFreeChart网格线?油漆套装

来自分类Dev

如何统一显示网格线?

Related 相关文章

热门标签

归档