我正在使用pandas数据框在python中绘制一个多面板图。我使用的是较短的版本:
df1_5.plot(subplots=True, sharex=True);
除了底部图形以5行1列图形格式删除xtick标签。
然而,为了自定义绘图,我更清楚地了解了如何绘制和使用以下代码:
fig, axes = plt.subplots(nrows=5, ncols=1, figsize=(8, 5))
df11_15['V11'].plot(ax=axes[0], ylim=(0, 7)); axes[0].set_title('V1')
df11_15['V12'].plot(ax=axes[1], ylim=(0, 7)); axes[1].set_title('V12')
df11_15['V13'].plot(ax=axes[2], ylim=(-0.5, 1.0)); axes[2].set_title('V13')
df11_15['V14'].plot(ax=axes[3], ylim=(-0.5,0.5)); axes[3].set_title('V14')
df11_15['V15'].plot(ax=axes[4], ylim=(-0.5, 0.5)); axes[4].set_title('V15')
我想从上面的四个图中删除xticklabels。你能告诉我怎么做吗?
我试过了:
axes[3].set_axisticklabels()
但被告知没有名为this
的属性错误。
答案 0 :(得分:0)
试试这个
for label in ax[3].get_xticklabels():
label.set_visible(False)
为了完整性,我还将提供有关如何在循环中工作的示例
# generate 2x4 matrix of subplots
fig, axs = plt.subplots(nrows=4, ncols=2)
for i,ax in enumerate(fig.axes):
# fill histograms with random numbers
ax.hist(np.random.normal(size = 100), bins=20)
# set the same xlim so that making labels invisible makes sense
ax.set_xlim([-4,4])
# make labels invisible only if "ax" is not in the last row
if not ax.is_last_row():
for label in ax.get_xticklabels():
label.set_visible(False)