gpt4 book ai didi

python - BoxPlot:如何显示年度值而不是季度值?

转载 作者:行者123 更新时间:2023-12-01 01:13:24 27 4
gpt4 key购买 nike

我有一个数据框,其中包含“季度”和“转售价格”列。我使用数据框使用seaborn绘制了箱线图。箱线图显示季度值,例如 (2007-Q2、2007-Q3、2007-Q4、2008-Q2)。但是,我希望它显示年度值,例如(2007、2008、2009)。我怎样才能实现这一目标?

import seaborn as sns

data = {
'quarter': ['2007-Q2', '2007-Q2', '2007-Q2', '2007-Q2', '2007-Q3',
'2007-Q3', '2007-Q3', '2007-Q3', '2007-Q4', '2007-Q4',
'2007-Q4', '2007-Q4', '2008-Q2', '2008-Q2', '2008-Q2',
'2008-Q2','2008-Q3', '2008-Q3', '2008-Q3', '2008-Q3',
'2008-Q4', '2008-Q4', '2008-Q4', '2008-Q4', '2009-Q2',
'2009-Q2', '2009-Q2', '2009-Q2', '2009-Q3', '2009-Q3',
'2009-Q3', '2009-Q3', '2009-Q4', '2009-Q4', '2009-Q4',
'2009-Q4', '2010-Q2','2010-Q2', '2010-Q2', '2010-Q2',
'2010-Q3', '2010-Q3', '2010-Q3', '2010-Q3', '2010-Q4',
'2010-Q4', '2010-Q4', '2010-Q4'],

'resale_price': [172000, 260000, 372000, 172000, 224500, 224500,
311500, 358800, 438000, 344000, 182200, 261300, 372000,
172000, 224500, 224240, 311500, 358800, 438000, 344900,
172000, 260000, 372000, 172000, 224500, 224500, 311500,
358800, 438000, 394000, 172400, 360000, 172000, 472000,
254500, 226510, 321600, 358800, 438800, 394000, 155400,
465000, 232000, 475090, 244520, 236518, 321100, 398901]
}

df = pd.DataFrame(data)

plt.figure(figsize=(12,6))
ax = sns.boxplot(data = df, x='quarter', y='resale_price')

for item in ax.get_xticklabels():
item.set_rotation(90)

Output

最佳答案

使用set_xticklabels带索引 - 字符串的前 4 个值,还设置旋转:

ax.set_xticklabels(df['quarter'].str[:4], rotation='vertical')

并且应该删除循环:

for item in ax.get_xticklabels():
item.set_rotation(90)
<小时/>

如果需要每年单独的箱线图:

df['year'] = df['quarter'].str[:4]
ax = sns.boxplot(data = df, x='year', y='resale_price')

关于python - BoxPlot:如何显示年度值而不是季度值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54605768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com