我使用python + matplotlib,我让两个地块共享一个轴。如果在共享轴的同时尝试设置graph1.set_xticklabels([])
,则不会产生任何效果,因为它是共享轴。有没有一种方法可以共享轴并能够隐藏一个图的x轴?
发布于 2010-11-18 05:55:47
这是使用共享轴时的常见陷阱。
幸运的是,有一个简单的解决方法:使用plt.setp(ax.get_xticklabels(), visible=False)
使标签在一个轴上不可见。
无论其价值如何,这都等同于[label.set_visible(False) for label in ax.get_xticklabels()]
。setp
将自动操作可迭代的matplotlib对象,以及单个对象。
举个例子:
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(2,1,1)
ax1.plot(range(10), 'b-')
ax2 = fig.add_subplot(2,1,2, sharex=ax1)
ax2.plot(range(10), 'r-')
plt.setp(ax1.get_xticklabels(), visible=False)
plt.show()
发布于 2012-10-06 01:27:35
对于matplotlib-users上的每个线程,您可以使用
import matplotlib.pyplot as plt
for ax in plt.gcf().axes:
try:
ax.label_outer()
except:
pass
发布于 2018-04-26 16:03:07
您可以使用Axes.tick_params()
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212, sharex=ax1)
ax1.tick_params(labelbottom=False)
https://stackoverflow.com/questions/4209467
复制相似问题