为了账号安全,请及时绑定邮箱和手机立即绑定

如何在plolty3.10中绘制排序条形图

如何在plolty3.10中绘制排序条形图

尚方宝剑之说 2022-05-11 14:30:00
我一直在尝试为某些商店的销售数据绘制排序的条形图,但无论我尝试什么,它都会给我未排序的数据。如何使用 plotly 绘制排序的条形图。注意: https ://community.plot.ly/t/sort-bars-in-bar-chart-by-value-and-have-each-bar-with-a-different-color/14562没有为我工作。数据import numpy as npimport pandas as pdimport plotlyimport plotly.offline as pyimport plotly.graph_objs as gofrom plotly.offline import plot, iplot, init_notebook_modeinit_notebook_mode(connected=False)print([(x.__name__,x.__version__) for x in [np, pd,plotly]])url = "https://github.com/bhishanpdl/Datasets/blob/master/store_item_demand/train_store_item_demand.csv?raw=true"df = pd.read_csv(url, parse_dates=['date'],index_col=['date'])使用熊猫(给出排序的条形图)df1 = df.groupby('store')['sales'].sum().sort_values()df1.plot.bar()使用 plotly3.10(给出未排序的条形图)(如何解决这个问题?)def barplot(x,y):    data = [go.Bar(        x=x,        y=y,        marker={            'color': y,            'colorscale': 'Reds'        }    )]    layout = {        'xaxis': {            'tickvals': x,            'ticktext': ['store ' + str(i) for i in x],            'tickangle': 40        }    }    fig = go.FigureWidget(data=data, layout=layout)    return iplot(fig)# plotdf1 = df.groupby('store')['sales'].sum().sort_values()x = df1.index.valuesy = df1.valuesbarplot(x,y)
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

用于此的正确键是layout.xaxis.categoryorder, 带有值"total ascending",但它仅适用于layout.xaxis.typeis "category"。如果您的x数组包含字符串,这会自动发生,但如果您x只包含数字,则必须手动设置它。


这是barplot推荐的函数版本:


def barplot(x,y):

    data = [go.Bar(

        x=x,

        y=y,

        marker={

            'color': y,

            'colorscale': 'Reds'

        }

    )]


    layout = {

        'xaxis': {

            'tickvals': x,

            'ticktext': ['store ' + str(i) for i in x],

            'tickangle': 40,

            'type': "category",

            'categoryorder': 'total ascending'

        }

    }


    fig = go.FigureWidget(data=data, layout=layout)


    return iplot(fig)


查看完整回答
反对 回复 2022-05-11
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信