更改 seaborn 箱线图中的 X 轴标签

Posted

技术标签:

【中文标题】更改 seaborn 箱线图中的 X 轴标签【英文标题】:Changing X axis labels in seaborn boxplot 【发布时间】:2016-09-03 16:33:35 【问题描述】:

我有一个包含多个列的 pandas 数据框我正在尝试用另一列称为“利率”的列绘制“分数”列(在 x 轴上)。我正在使用以下命令:

box_plot=sns.boxplot(x=list(Dataframe['Score']),y=list(Dataframe['Interest.Rate']),data=Dataframe)
box_plot.set(xlabel='FICO Score',ylabel='Interest Rate')

这很好用,它会创建一个带有适当轴的箱线图。似乎我必须将变量作为列表传递给 boxplot 函数。也许有更好的方法。

问题是 x 轴标签过于拥挤且不可读,因此我不想将它们全部打印出来,只打印其中一些以提高可读性。

我已经尝试了 xticks 和 xticklabel 函数的多个选项,但它们似乎都不起作用。

【问题讨论】:

【参考方案1】:

你可以这样做:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('your_data.csv', index_col=0)

sns.boxplot(
    x='Score', 
    y='Interest.Rate', 
    data=data
).set(
    xlabel='FICO Score', 
    ylabel='Interest Rate'
)
plt.show()

【讨论】:

不起作用AttributeError: Unknown property ylabel【参考方案2】:

试试这个方法:

box_plot=sns.boxplot(x='Score', y='Interest.Rate',data=Dataframe)

而不是将熊猫系列转换为列表

如果您需要 X 轴方面的帮助,请发布 sample data set,这有助于重现您的问题。

【讨论】:

以上是关于更改 seaborn 箱线图中的 X 轴标签的主要内容,如果未能解决你的问题,请参考以下文章

使用多个连接的箱线图更改 Matplotlib 中的轴刻度

使用 seaborn 的单个箱线图中的多列

沿 x 轴所需距离处的 seaborn 箱线图

Seaborn:需要解决箱线图中图形边距的方法[重复]

Matplotlib 箱线图 x 轴

同一图上 Pandas 数据框多列的箱线图(seaborn)