gpt4 book ai didi

python - 如何在plotly3.6中对条形图进行排序?

转载 作者:行者123 更新时间:2023-12-01 07:21:55 28 4
gpt4 key购买 nike

我的办公室电脑上安装了plotly3.6,但无法升级。我试图制作排序条形图,但未能成功。

我该怎么做?

我的尝试:

def barplot(x,y):
data = [go.Bar(
x=x,
y=y,
marker={
'color': y,
'colorscale': 'Reds'
}
)]

layout = {
'xaxis': {
'tickvals': x,
'ticktext': [str(i) for i in x],
'tickangle': 40,
'type': "category",
'categoryorder': 'category ascending'
}
}

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

return iplot(fig)


# plot
x = list('abcde')
y = [20,10,5,8,9]


barplot(x,y)

相关链接:(这只适用于plotly3.10,不适用于3.6) How to plot sorted barplot in plolty3.10

感谢帮助。

最佳答案

这是您的函数的一个版本,它可以执行此操作...基本上您只需对 x 进行预排序即可和y您传递给 go.Bar() 的值。因为x在本例中是字符串列表,xaxis.type推断为 "category"类别的顺序默认为 x 的顺序。提供了列表,因此无需摆弄 tickvalsticktext .

import plotly.graph_objs as go
from plotly.offline import iplot

def barplot(x,y):
sorted_y = sorted(y)
sorted_x = [str(j) for i,j in sorted(zip(y,x))]

data = [go.Bar(
x=sorted_x,
y=sorted_y,
marker={
'color': y,
'colorscale': 'Reds'
}
)]

fig = go.FigureWidget(data=data)

return iplot(fig)


# plot
x = list('abcde')
y = [20,10,5,8,9]


barplot(x,y)

关于python - 如何在plotly3.6中对条形图进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661260/

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