我正在尝试使用下表和代码创建条形图:
跟踪数据1:
Berth
01E 56.0
01W 0.0
02 59.0
08 92.0
09 5.0
14 19.0
15 8.0
16 68.0
17 30.0
条形图代码:
trace1 = Bar(x = tracedata1.reset_index()['Berth'], y = tracedata1)
data1 = [trace1]
layout1 = Layout(xaxis = dict(tickangle = -45))
fig1 = dict(data = data1, layout = layout1)
iplot(fig1)
它给了我下面的图表:
我不明白为什么 x 轴只显示 Int 值而不显示任何其他值。 x轴输入是对象类型。
编辑: 有问题的 df3:
ATA ATD Begin Receive Berth Time Days Spent
2018-04-14 03:50:00 2018-04-19 14:35:00 NaN 29 5 days 10:45:00 5.0
2018-04-30 16:20:00 2018-05-01 12:58:00 2018-Apr-16 07:00 C2 0 days 20:38:00 0.0
最佳答案
plotly
正在读取您的 x 值,看到其中一些是数字,并自动将条形图绘制为数字。我们想要覆盖它 - 所以告诉它你的轴类型是'category'
。这是一些稍微简化的代码:
tracedata1 = df3.groupby('Berth', as_index=False).agg({'Days Spent': 'sum'})
trace1 = Bar(x=tracedata1['Berth'], y=tracedata1['Days Spent'])
data1 = [trace1]
layout1 = Layout(xaxis=dict(tickangle=-45, type='category'))
fig1 = dict(data=data1, layout=layout1)
iplot(fig1)
关于python - 绘制 x 轴值与输入值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50156665/