在matplotlib子图中删除轴线?

4

我有一个带有4列和日期范围作为索引的pandas数据框。在使用这段代码显示了四个子图的趋势线之后,我意识到我不想要y轴刻度或标签,但我找不到任何关于从子图中删除它们的建议;我尝试的所有方法都只适用于底部的图。

plot4 = CZBCdf2.plot(subplots=True,figsize=(10,4),sharex=True)
3个回答

8

在matplotlib中删除轴的典型方法是:

import matplotlib.pyplot as plt

plt.axis('off')

然而,这是matplotlib的一般说明。要将轴设置为不可见,您可以执行以下操作(使用子图):
ax.xaxis.set_visible(False) # same for y axis.

你似乎在从其他来源调用绘图。如果这些说明不能满足您的需求,请提供更多的代码以查看可能实现该过程的步骤。


当使用pandas的plot函数并将subplot设置为True时,此方法不起作用。 - nooshinha

4
完整解决方案,用于移除绘图周围的任何内容。
figure, axis = plt.subplots(1, figsize=[10,3])
axis.plot(...)
axis.xaxis.set_visible(False)
axis.yaxis.set_visible(False)
for spine in ['top', 'right', 'left', 'bottom']:
   axis.spines[spine].set_visible(False)
figure.savefig('demo.png', bbox_inches='tight', transparent="True", pad_inches=0,  )

enter image description here


0

设置 yticks=[]

因此,在您的示例中:

plot4 = CZBCdf2.plot(subplots=True,figsize=(10,4),sharex=True, yticks=[])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接