如何有条件地在条形图上的海洋条形图中显示数据框的不同列值?

负载箱

我有一个数据帧sales的列[ book_namenum_ordersconditionprice

condition有4个变体。对于每个book_name,我只尝试绘制那些具有num_orders> = 10的条件的条形图

因此,我这样做:

sns.barplot(x='book_name', y='price', hue='condition', data=sales[sales.num_orders>=10])

现在,我想在其对应的条形图上显示num_orders每种条件book_name如果由于阈值10而未绘制,则跳过它。

我该如何实现?

示例数据框:

import pandas as pd
sales = pd.DataFrame.from_dict({"book_name":["Island", "Island", "Island","Island", "Cinder","Cinder", "Cinder","Cinder","Speak","Speak","Speak","Speak"],
                                "num_orders" : [15, 17, 3,40,57,120,5,65,34,6,7,8], 
                                "condition":["New", "Old", "Rough","Torn","New", "Old", "Rough","Torn","New", "Old", "Rough","Torn"],
                               "price":[700,600,500,400,1000,900,800,700,1500,1400,1300,1200]})

当我跑步时:

sns.barplot(x='book_name',y='price',data=sales,hue='condition')

在此处输入图片说明 而且,当我执行以下操作时:

sns.barplot(x='book_name',y='price',data=sales[sales.num_orders>10],hue='condition')

在此处输入图片说明

我想在绘制的条形图上显示num_orders的值。如果没有酒吧,那就没有价值。欢迎使用其他库的建议,但也请针对我正在使用hue并希望在这些栏上方显示其他某些列的值的解决方案发布此特定问题。

负载箱

我通过尝试以下方法得到了解决方案:

def display_figures(ax,df):
    show=df.num_orders.to_list()
    i=0
    for p in ax.patches:
        h=p.get_height()
        if (h>0):
            value=show[i]
            ax.text(p.get_x()+p.get_width()/2,h+10, value, ha='center')
            i=i+1
plt.figure(figsize=(15,10))
plot_data=sales[sales.num_orders>=10].sort_values(by='cond_id')
ax=sns.barplot(x='book_name',y='price',data=plot_data, hue='condition')
display_figures(ax,plot_data)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在amCharts v4中有条件地设置XY条形图上的属性?

如何获得有条件的条形图

在海洋条形图上绘制时,列的总和不同

如何在条形图的条形图中显示值?

功能中的条形图-有条件地更改功能中条形的顺序

在条形图上显示值

如何在海洋条形图的每个条形图的顶部显示y值?

在条形图中的条形顶部显示值

在条形图中的条形上显示值

如何在水平堆叠条形图中显示条形值

在数据框的不同列中显示堆叠条形图的每种颜色上的值

如何使用带有“ group_by”数据帧的plot()在条形图中显示每个变量的值?

如何在所有条形图子图上显示x轴标签?

matplotlib:在条形图上绘制熊猫数据框的多列

d3仅在带有条形图中数据的刻度线上显示标签

python-如何在条形图上显示值

密谋:如何对条形图上显示的“文本”值求和?

使用plot_ly在条形图中显示数据值

在ggplot2的堆叠条形图中显示数据值

如何在ggplot的条形图上的单个条形图中按值正确地对分段进行排序(即使从因子更改)

第2部分:如何在ggplot的条形图上的单个条形图中按值正确地对分段进行排序

如何获取此条形图上的值?

带有来自两个不同数据框的条形图的条形图

在条形图中显示相同的值

使用ggplot2为条形图有条件地分配geom_text位置

如何在条形图中清楚地显示每个数据的标题?

Amchart 4:如何在条形图中单击条形/列时突出显示条形/列

如何在条形图中显示每个条的条值?

如何使不同数据框中的项目在条形图中获得一致的颜色?