【发布时间】:2017-11-25 19:02:23
【问题描述】:
我想绘制条形图。 x 轴上是顾问的 ID。它们的范围在 1000 到 2000 之间。每个顾问都有特定数量的客户(y 轴)。
现在我想在 plotly 中绘制一个条形图。但是,按顺序排列顾问 ID 升序并将它们解释为整数,但事实并非如此。它们应该像我给出的列表一样排序。
顺便说一句,matplotlib 中的顺序是正确的。
trace1 = go.Bar(
x=consultants,
y=info[0,:]
)
trace2 = go.Bar(
x=consultants,
y=info[1,:],
)
trace3 = go.Bar(
x=consultants,
y=info[2,:]
)
trace4 = go.Bar(
x=consultants,
y=info[3,:]
)
data = [trace1, trace2, trace3, trace4]
layout = go.Layout(
barmode='stack',
xaxis=dict(
categoryorder='array',
categoryarray=consultants,
titlefont=dict(
size=18,
color='black'),
showticklabels=True,
tickfont=dict(
size=16,
color='black',
),
tickangle=20
),
yaxis=dict(
title='Number of customers',
titlefont=dict(
size=18,
color='black'),
showgrid=True,
showline=False,
showticklabels=True,
tickfont=dict(
size=16,
color='black')
),
)
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='stacked-bar')
【问题讨论】:
-
似乎是正确的关键字。但是如果我输入 categoryorder='array'。 categoryarray 应该是怎样的?是 list(range(len(num_consultants))) 还是 num_consultants。到现在已经有效果了。