箱形图的x标签已移动

时间:2019-07-16 16:18:39

标签: python pandas matplotlib

我使用下面的代码对dataframe中的几列进行箱式绘制。

df = df[["Col1", "Col2", "Col3", "Col4", "Col5", "Col6", "Col7"]]

df.plot.box()
plt.xticks(list(range(len(df.columns))), df.columns, rotation='vertical')
plt.tight_layout()
plt.show()

图形如下。

enter image description here

但是,如您所见,x标签向左移动了一步,而最右边的标签没有任何标签

我想知道如何解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:1)

打勾的原因是range(len(df.columns))从零开始,而箱形图在文档中默认为range(1,N+1)

如IOBE所指出,您可以在range的开头添加1并增加上限以保留要显示的相同列数。您还可以在使用positions kwarg进行绘制时直接指定刻度。

df = df[["Col1", "Col2", "Col3", "Col4", "Col5", "Col6", "Col7"]]

df.plot.box()
plt.xticks(list(range(1,len(df.columns)+1)), df.columns, rotation='vertical')
plt.tight_layout()
plt.show()
相关问题