python - Matplotlib 子图缺少网格

标签 python numpy matplotlib scikit-image imshow

我正在尝试绘制两个图形。第一个显示随机生成的像素,第二个显示随机生成的像素。
当我绘制这些子图时,第一个不显示网格,Y 轴编号也反转并且原点移动了一点。
你能建议我如何解决这些问题吗?

enter image description here

这是我的代码如下:

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from skimage.morphology import disk,erosion

x=np.random.randint(2,size=(10,10))
se=disk(1)
y=erosion(x,se)

fig, (ax0, ax1) = plt.subplots(1,2, figsize=(10,5))
cmap = mpl.colors.ListedColormap(['w', 'k'])

ax0.set_xticks(np.arange(0, 10, 1))
ax0.set_yticks(np.arange(0, 10, 1))
ax0.set_title("Input image")

ax1.set_xticks(np.arange(0, 10, 1))
ax1.set_yticks(np.arange(0, 10, 1))
ax1.set_title("Eroded Image")

ax0.imshow(x,interpolation='none', cmap=cmap, norm=norm)
ax1.imshow(y,interpolation='none', cmap=cmap, norm=norm)

plt.rc('grid', linestyle="-", color='red')
plt.grid(True)
plt.show()

最佳答案

这里是反转 y 轴的代码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from skimage.morphology import disk,erosion

x=np.random.randint(2,size=(10,10))
se=disk(1)
y=erosion(x,se)

fig, (ax0, ax1) = plt.subplots(1,2, figsize=(10,5))
cmap = mpl.colors.ListedColormap(['w', 'k'])

ax0.set_xticks(np.arange(0, 10, 1))
ax0.set_yticks(np.arange(0, 10, 1))
ax0.set_title("Input image")

ax1.set_xticks(np.arange(0, 10, 1))
ax1.set_yticks(np.arange(0, 10, 1))
ax1.set_title("Eroded Image")

ax0.imshow(x,interpolation='none', cmap=cmap)
ax1.imshow(y,interpolation='none', cmap=cmap)

plt.rc('grid', linestyle="-", color='red')
ax0.invert_yaxis()
ax1.invert_yaxis()

plt.grid(True)
plt.show()

只需使用 .invert_yaxis()绘制内容后的方法。这是结果:

enter image description here

关于刻度:您正在通过 imshow() 绘制矩阵,因此 x 和 y 值沿其轴不连续,它们集中在矩阵的单元格中。 imshow() 的滴答声显示是指每个单元格的中心,因为这是您感兴趣的信息。在 Carthesian 平面中没有通过“x”和“y”轴的交点的“原点”,因为这是不是迦太基平面。您正在翻译图像中矩阵的内容,因此 imshow()显示每个单元格中心的刻度。

关于python - Matplotlib 子图缺少网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62201441/

相关文章:

python - 绘制 NACA 4 系列翼型

python - 如何在 oh-my-posh 中用 python 显示当前虚拟环境?

python - 使用 python 从 GCP 存储桶中递归读取所有子文件夹中的 csv 文件

python - 切片 ndarray 的最快方法

python - python中数组的矩阵乘法

python - 如何让 matplotlib 的 imshow 生成图像而不被绘制

python - matplotlib 中错误的 latex 渲染

python - django FileSystemStorage 的动态路径

python - 如何生成在第一列插入复选框形式的多列表?

Python:将维度附加到二维数组