plotly 将我的 xaxis 标记为错误。如何解决这个问题?

Posted

技术标签:

【中文标题】plotly 将我的 xaxis 标记为错误。如何解决这个问题?【英文标题】:plotly is labeling my xaxis wrong. how to fix this? 【发布时间】:2022-01-09 15:15:54 【问题描述】:

在图片中,您可以看到最后一个条形图是 11 月,但 plotly 调用的是 2021 年 11 月 10 月。为什么以及如何解决?

orders_month = orders[['createdAt', 'order_total_usd']]
orders_month_grouped = orders_month.groupby(pd.Grouper(key='createdAt', axis=0, freq='M')).sum().reset_index()
orders_month_grouped['value_labels'] = orders_month_grouped['order_total_usd'].map('$:,.0f'.format)
fig2 = px.bar(orders_month_grouped, x='createdAt', y="order_total_usd",   text='value_labels')
fig2.update_layout(
    title="Order Value by Month",
    xaxis_title="Month",
    yaxis_title="Order Value"
    )
fig2.update_yaxes(range=[350000, 600000])
fig2.show()

更新: 找到了这个解决方法

看来我可以用这个来解决它

    fig2.layout.xaxis.tick0 = orders_month_grouped['createdAt'].iloc[0]
    fig2.layout.xaxis.dtick = 'M1'

但我为什么必须这样做(为什么错了)?

添加数据图像

【问题讨论】:

您能否提供一些说明问题的输入数据?最好是orders_month_grouped,它已经对数据进行了分组。 @Shaido 添加图片以显示数据 如果您认为您自己的解决方案足以很好地回答您的问题,请为您自己的问题创建一个答案并接受它作为正确答案,以便它在系统中被屏蔽为已回答。 当然,但我仍然想知道为什么我需要手动更正这个?这是情节的一个错误吗? 【参考方案1】:

这里有一个修复:添加 xaxis_tick0...

fig2 = px.bar(orders_month_grouped, x='createdAt', y="order_total_usd",   text='value_labels')
fig2.update_layout(
    title="Order Value by Month",
    xaxis_title="Month",
    yaxis_title="Order Value",
    xaxis_tick0 = orders_month_grouped['createdAt'].iloc[0],
    xaxis_dtick = 'M1'
)

【讨论】:

以上是关于plotly 将我的 xaxis 标记为错误。如何解决这个问题?的主要内容,如果未能解决你的问题,请参考以下文章

Plotly:如何使用 plotly express 自定义 xaxis 刻度标签?

JavaFX BarChart xAxis标记错误的定位

Plotly:如何根据列值设置标记大小?

如何使用plotly js在y轴上为单个x轴值(可能是日期)绘制两个点

Plotly:如何设置y轴的范围?

使用renderPlotly和plot_ly绘制数据的子集时,xAxis的值不正确