gpt4 book ai didi

python - 更改 Pandas/Matplotlib 直方图中标签的 x 轴顺序?

转载 作者:行者123 更新时间:2023-12-05 00:54:45 25 4
gpt4 key购买 nike

假设我有一个 Pandas 数据框,列中有离散值。

import pandas as pd

data = ['A']*2 + ['C']*3 + ['B']* 1
print(data)
# ['A', 'A', 'C', 'C', 'C', 'B']

my_df = pd.DataFrame({'mycolumn': data})
print(my_df)
# mycolumn
# 0 A
# 1 A
# 2 C
# 3 C
# 4 C
# 5 B

然后我创建一个直方图来显示这些值的频率。我使用 Pandas 内置函数 hist() ,而这又依赖于 Matplotlib 直方图函数。

my_df.mycolumn.hist()

enter image description here

现在,如何将 X 轴上的标签顺序更改为具有特定顺序? 例如,我希望 x 轴具有特定顺序的标签: C, A, B ,而不是 A, C, B如图所示。

此外,如何将 y 轴更改为整数而不是 float ?频率值是离散计数。

最佳答案

您可以使用value_countsloc定义顺序,以及bar plot:

my_df.mycolumn.value_counts().loc[['C', 'A', 'B']].plot.bar()

enter image description here

Solution在 y 轴上使用整数:

from matplotlib.ticker import MaxNLocator

ax = my_df.mycolumn.value_counts().loc[['C', 'A', 'B']].plot.bar()

ax.yaxis.set_major_locator(MaxNLocator(integer=True))

enter image description here

关于python - 更改 Pandas/Matplotlib 直方图中标签的 x 轴顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65708947/

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