我在那里使用matplotlib去除子图的一个轴上的编号,假设我使用fig.add_subplot()
来创建子图(而不是plt.subplots()
)?
以下是示例代码:
index = 0
fig = plt.figure()
for q in range(3, 24, 4):
index += 1;
f = './npy_train_{:02d}_0013.npy'.format(q)
images = np.load(f)
ax = fig.add_subplot(2, 3, index)
ax.set_xlim((0,1)); ax.set_ylim((0,1))
ax.plot(images[0, 0, :, 0], images[0, 1, :, 0], 'bo', label = 'train_{:02d}_0013.npy'.format(q))
ax.set_title('npy_train_{:02d}_0013.npy'.format(q))
我想知道如何摆脱第一行子图中x轴上的数字。
答案 0 :(得分:1)
您可以使用ax.set_xticklabels([])
从给定的子图中删除刻度标签。然后你只需要知道应用它的子图。在你的情况下,那些索引为1,2和3的那些。所以,你可以使用if index < 4:
,如下所示:
import matplotlib.pyplot as plt
import numpy as np
index = 0
fig = plt.figure()
for q in range(3, 24, 4):
index += 1;
f = './npy_train_{:02d}_0013.npy'.format(q)
images = np.load(f)
ax = fig.add_subplot(2, 3, index)
ax.set_xlim((0,1)); ax.set_ylim((0,1))
ax.plot(images[0, 0, :, 0], images[0, 1, :, 0], 'bo', label = 'train_{:02d}_0013.npy'.format(q))
ax.set_title('npy_train_{:02d}_0013.npy'.format(q))
if index < 4:
ax.set_xticklabels([])
plt.show()