📜  在 imshow 中删除网格 - Python (1)

📅  最后修改于: 2023-12-03 15:37:21.043000             🧑  作者: Mango

在 imshow 中删除网格 - Python

在 Python 中使用 matplotlib 库的函数 imshow() 可以显示图片,但默认情况下会显示网格,有些情况下需要将网格删除。

以下是一些方法来实现在 imshow 中删除网格:

方法一:使用 plt.axis('off')

简单地使用 plt.axis('off') 将使整个图表中的所有轴的刻度和标签隐藏掉。

示例代码如下:

import matplotlib.pyplot as plt
import numpy as np

# Generate random data
data = np.random.randint(0, 255, size=(100, 100))

# Show image without grid
plt.imshow(data, cmap='gray')
plt.axis('off')
plt.show()
方法二:设置 ticks 和 ticklabels 的属性

可以设置 x 轴和 y 轴上的 ticks 和 ticklabels 的属性来删除网格。只需要将它们的可见性设置为 False 即可。

示例代码如下:

import matplotlib.pyplot as plt
import numpy as np

# Generate random data
data = np.random.randint(0, 255, size=(100, 100))

# Show image without grid
plt.imshow(data, cmap='gray')
plt.tick_params(axis='both', which='both', length=0, labelsize=0)
plt.show()
方法三:设置 x、y 轴的 tick_locator

可以使用 mpl.ticker.NullLocator() 来删除 x、y 轴上的 ticks。

示例代码如下:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl

# Generate random data
data = np.random.randint(0, 255, size=(100, 100))

# Show image without grid
plt.imshow(data, cmap='gray')
ax = plt.gca()
ax.xaxis.set_major_locator(mpl.ticker.NullLocator())
ax.yaxis.set_major_locator(mpl.ticker.NullLocator())
plt.show()

以上是在 imshow 中删除网格的三种不同方法,可以根据不同的需求进行选择。