gpt4 book ai didi

python - 如何使用 python matplotlib 的艺术家层在条形图上显示百分比值

转载 作者:行者123 更新时间:2023-12-01 07:20:14 25 4
gpt4 key购买 nike

过去 3 天我一直在尝试将每个条形的百分比值放在绘图上,但没有用!

enter image description here

df_ds.sort_values('Very interested', ascending = False)
df_dsp = ((100*df_ds / 2233).round(2).astype(str) + '%')

#PLOTTING
ax1 = df_ds.plot(kind = 'bar',
figsize = (20,8),
width = 0.8,
color = ('#5cb85c', '#5bc0de', '#d9534f'),
fontsize = 14)
ax1.set_title("Percentage of Respondents' Interest in Data Science", fontsize = 16)
ax1.legend(fontsize = 14)
ax1.spines['top'].set_visible(False)
ax1.spines['right'].set_visible(False)
ax1.spines['left'].set_visible(False)

最佳答案

您可以使用 matplotlib 中的补丁 ,并使用 get_x()get_height() 获取百分比值的坐标。假设我们已经导入了您的数据框,您的代码将变为

import pandas as pd
import matplotlib.pyplot as plt

# Assuming that we imported df_ds...
df_ds.sort_values('Very interested', ascending = False)

# Formatting to a percentage will be done in the plotting
df_dsp = df_ds / 2233

#PLOTTING
ax1 = df_ds.plot(kind = 'bar',
figsize = (20,8),
width = 0.8,
color = ('#5cb85c', '#5bc0de', '#d9534f'),
fontsize = 14)
ax1.set_title("Percentage of Respondents' Interest in Data Science",
fontsize = 16)
ax1.legend(fontsize = 14)
ax1.spines['top'].set_visible(False)
ax1.spines['right'].set_visible(False)
ax1.spines['left'].set_visible(False)

# Adding the percentage values
for p in ax1.patches:
ax1.annotate("{:.2%}".format(p.get_height()),
xy=(p.get_x()+0.02, p.get_height()+0.01))

其中最后两行是百分比值的代码。结果如下:

enter image description here

关于python - 如何使用 python matplotlib 的艺术家层在条形图上显示百分比值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57738088/

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