我使用下面的代码对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()
图形如下。
但是,如您所见,x标签向左移动了一步,而最右边的标签没有任何标签
我想知道如何解决这个问题。谢谢。
答案 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()