首页 > 解决方案 > 用多组条形显示条形图的值

问题描述

我很难找到一种简单的方法来用条形上方的值标记条形图,因为我有多组条形图。代码用 Python 3.8 编写并附在下面。

import numpy as np
df_Data = df_data.sort_values(by = 'Very interested', ascending = False)
df_per = ((df_Data.iloc[0:len(df_Data),1:4]/2233)*100).round(2)

names = ["Data Analysis / Statistics", "Machine Learning", "Data Visualization", "Big Data (Spark / Hadoop)", "Deep Learning", "Data Journalism "]

bar_chart = df_per.plot(kind = 'bar', figsize = (20,8), width = 0.8, color = ['#5cb85c','#5bc0de','#d9534f'])
plot.legend(frameon = False)

position = []
list = []
empty = []

for x in range(0,len(df_per)):
    position.append(x)
    yval = np.array(position)
    
plot.xticks(yval, names)

bar_label = np.arange(0,100,10)

for x in range(0,len(df_per)):
    values_array = df_per.iloc[x].to_numpy()
    list.append(values_array)
    
for position in range(0,len(df_per)):
    positional_values = np.array([position-0.3,position-0.1, position+0.2])
    empty.append(positional_values)

for index in range(0,3):
    for group in range(0,len(empty)):
        bar_chart.text(empty[group][index], list[group][index], list[group][index])
        
for spine in bar_chart.spines:
    bar_chart.spines[spine].set_visible(False)

生成的图表:

从列出的代码生成的图表

标签: pythonpandasnumpymatplotlib

解决方案


推荐阅读