删除ticklabels python

时间:2014-12-18 16:14:29

标签: pandas

我正在使用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的属性错误。

1 个答案:

答案 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)