python 我想制作垂直条,在每个条的顶部显示值

b09cbbtk  于 2023-02-02  发布在  Python
关注(0)|答案(1)|浏览(119)

图是水平的,没有值我试过这段代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
g = sns.barplot(
x="score",
y="subject",
hue="pipeline",
#col="dataset",
data=results,
palette="viridis", 
)

我试着用这个来求价值

ax = g.axes[0, 0]
ax.bar_label(ax.containers[0])

我遇到了这个错误'AxesSubplot'对象是不可订阅的

2ic8powd

2ic8powd1#

你可以用panda的条形图试试,如果你想水平绘制,可以用.barh如果你提供df的一个片段,那么拟合数据会更容易,如果你想使用色调,你可以把数据转换成正确的格式。

ax = (df 
        .plot.bar(#insert your x and y
    )
    )
    for c in ax.containers:
    
        # Optional: if the segment is small or 0, customize the labels
        labels = [v.get_height() if v.get_height() > 0 else '' for v in c]
        
        # remove the labels parameter if it's not needed for customized labels
        ax.bar_label(c, labels=labels, label_type='edge')

相关问题