Python 打印与输入不同的x轴值

Python 打印与输入不同的x轴值,python,pandas,bar-chart,plotly,Python,Pandas,Bar Chart,Plotly,我正在尝试使用下表和代码创建条形图: 跟踪数据1: Berth 01E 56.0 01W 0.0 02 59.0 08 92.0 09 5.0 14

我正在尝试使用下表和代码创建条形图:

跟踪数据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)

您正在传递整个数据帧作为
y
的参数。您要绘制的数据列名为什么?
tracedata1=df3.groupby('Berth').sum()['Days-speed']
我也从原始数据框中尝试了这一点:
Bar(x=df3.groupby('Berth').sum().reset_index()['Berth'],y=df3.groupby('Berth').sum()['Days-speed'])
结果是相同的,请严格按照您编写的方式进行尝试,仍然给我相同的结果。从Berths创建一个列表,然后向所有值添加一个字符串,然后将其传递给plotly会有帮助吗?对不起,如果这是一个愚蠢的想法,我只是不知道这里发生了什么。你能在你的问题中添加一个
df3
的示例吗?尝试执行
print(df3.head())
并将df3的inI编辑部分复制到原始文章中,这只是我用于此图的列,但原始文章大约有63列。而且我只是试着用时间而不是用几天的时间,我也有同样的问题,谢谢!这是可行的,显然,向泊位列添加字符串也解决了这个问题,但您的解决方案简单得多,而且看起来更好。再次感谢您!