作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的办公室电脑上安装了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
的顺序。提供了列表,因此无需摆弄 tickvals
或ticktext
.
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/
我是一名优秀的程序员,十分优秀!