我正在创建一个带有3个子图的图形,想知道是否有一种方法可以移除它们周围的框架,同时保留坐标轴的位置?
我正在创建一个带有3个子图的图形,想知道是否有一种方法可以移除它们周围的框架,同时保留坐标轴的位置?
fig, ax = plt.subplots(7,1, sharex=True)
t = np.arange(0, 1, 0.01)
for i, a in enumerate(ax):
a.plot(t, np.sin((i + 1) * 2 * np.pi * t))
a.spines["top"].set_visible(False)
a.spines["right"].set_visible(False)
a.spines["bottom"].set_visible(False)
fig, ax = plt.subplots(7,1, sharex=True)
t = np.arange(0, 1, 0.01)
for i, a in enumerate(ax):
a.plot(t, np.sin((i + 1) * 2 * np.pi * t))
seaborn.despine(left=True, bottom=True, right=True)
两种方法都会给你:
试试plt.box(on=None)
。它只删除绘图周围的边框(外框),这正是我想做的。
plt.axis('off')
删除了刻度标签和边框,但这不是我要实现的目标。
axis('off')
方法来实现类似于此的效果。这是您想要的吗?(下图中的示例代码)。fig, ax = plt.subplots(7,1)
t = np.arange(0, 1, 0.01)
for i, a in enumerate(ax):
a.plot(t, np.sin((i+1)*2*np.pi*t))
a.axis('off')
plt.show()
尝试
ax.set_frame_on(False)
它可以移除任何绘图周围的框架,但X轴和Y轴的刻度仍然存在。
for a in ax:
- Douglas Adams