python - 绘制 x 轴值与输入值不同

标签 python pandas bar-chart plotly

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

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

它给了我下面的图表:

enter image description here

我不明白为什么 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/

相关文章:

python - 将 Pandas 数据框转换为系列

python - 从现有数据框创建新数据框 - SettingWithCopyWarning

java - AChartEngine 条形图中网格线上方的图表

python - Pygame - 如何检查我的矩形是否已被单击?

Python:源代码字符串不能包含空字节

python - 如何在 C 函数中访问 python 变量的数据? (参数类型 : void *)

python - 如何使用 pandas 在 csv 中为逗号分隔值提供新列?

python - 如何在 Pandas 约会后 8 天内获得 1,否则如何获得 0?

Python matplotlib 多条

php - JpGraph:使用 MySQL 数据创建 PHP 条形图