首页 > 编程问答 >text_auto 参数在 Plotly 中不起作用

text_auto 参数在 Plotly 中不起作用

时间:2024-07-26 07:49:49浏览次数:9  
标签:python pandas jupyter-notebook plotly plotly-express

尽管语法看似正确,但 Plotly Express 条形图的 text_auto 参数对我不起作用。我同时使用 Jupyter Notebook 和 Eclipse,问题仍然存在。 Plotly 版本 5.19。

我正在尝试使用 Ploty Express 创建条形图。我想显示一家理论上的披萨店今年的最高订单。以下是我正在尝试的: ( https://i.sstatic.net/29ErcqM6.jpg ) 这是输出: ( https://i.sstatic.net/IY3wtuAW.jpg )

我在 SSMS 中运行了查询并确认这些是正确的订单号和最大订单。

但是,我会x 轴的格式如下: ( https://i.sstatic.net/pBpL19Ef.png )

非常感谢任何和所有帮助。


问题不在于 text_auto 参数,而在于你的 x 轴数据类型。看起来 Plotly 将你的订单号(应该被视为离散类别)解释为数字。因此,它试图创建一个连续的数值轴,这对于你的情况来说没有意义。

你有两种解决方案:

1. 将订单号转换为字符串:

在创建 Plotly 图表之前,将你的 order_id 列转换为字符串类型。这将强制 Plotly 将它们视为离散类别。

df['order_id'] = df['order_id'].astype(str)

px.bar(df, x='order_id', y='total_order_amount', text_auto=True)

2. 使用 tickmode='array' tickvals 参数:

你可以明确地告诉 Plotly 使用哪些值作为 x 轴刻度。

fig = px.bar(df, x='order_id', y='total_order_amount', text_auto=True)
fig.update_xaxes(tickmode='array', tickvals=df['order_id']) 
fig.show()

这两种方法都可以解决你的问题,并使 text_auto 参数按预期工作。选择最适合你的方法。

标签:python,pandas,jupyter-notebook,plotly,plotly-express
From: 78795779

相关文章