【问题标题】:How to resize x axis如何调整 x 轴的大小
【发布时间】:2021-02-27 14:33:09
【问题描述】:
df_train = pd.read_csv('../input/titanic/train.csv')
df_train.groupby('Age')['Survived'].mean().plot.bar(rot=0, title='Age',edgecolor="k")
plt.show()

我想调整 x 轴范围的大小,但我不知道该怎么做。我要调整大小的范围是 [under 20, under 40, under 60, under 80]。 X代表年龄,Y代表存活率

【问题讨论】:

  • 您是否尝试在绘图之前过滤这些范围的数据?你想制作不同范围的子图吗?你的问题很广泛。 but I don't know how to do that. - 你在文档上花了多少时间,你有没有找到任何接近你想做的事情?这不是讨论论坛或教程。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。
  • 您可以尝试使用频率直方图,df_train.groupby('Age')['Survived'].mean().hist(bins=4) 或使用pandas.cut

标签: python pandas matplotlib bar-chart


【解决方案1】:

在绘图前将您的数据按年龄组划分:

age_group = pd.cut(df_train['Age'], bins=range(0,100,20), right=False).rename(None)
df_train.groupby(age_group)['Survived'].mean().plot.bar(rot=0, title='Age',edgecolor="k")


如果您想要更精美的标签:

bins = np.arange(0, 100, 20, dtype='int')
labels = [f'Under {i}' for i in bins[1:]]
age_group = pd.cut(df_train['Age'], bins=bins, labels=labels, right=False).rename(None)

df_train.groupby(age_group)['Survived'].mean().plot.bar(rot=0, title='Age',edgecolor="k")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 2022-07-06
    • 2022-01-20
    • 2013-10-05
    相关资源
    最近更新 更多