You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly图表X轴无法正确显示指定年月字符串值问题求解

问题说明

使用Plotly绘制折线图时,传入X轴的['2022-03', '2022-04', '2022-05', '2022-06']字符串会被框架自动识别为日期格式,X轴按时间规则生成刻度,无法直接展示预设的原始字符串值。

问题原因

Plotly默认开启轴类型自动推断逻辑,当传入的字符串符合YYYY-MM的日期格式规范时,会自动将X轴类型设置为日期轴,按照时间分度规则生成刻度,而非将传入值作为独立分类逐个展示。

解决方案

优先选择手动指定X轴为分类轴的方案,改动最小、逻辑最清晰,不会破坏原始数据格式。

  • 核心修改:在图形配置中增加fig.update_xaxes(type='category')配置,强制X轴按分类类型处理传入值,完全保留原始字符串的内容和展示顺序。

修改后可直接运行的完整代码如下:

from plotly import graph_objs as go
import pandas as pd

mtds = ['2022-03', '2022-04', '2022-05', '2022-06']
values = [28, 24, 20, 18]

data1 = []
for j in range(4):
  data1.append([mtds[j], values[j]])
df1 = pd.DataFrame(data1, columns=['month', 'counts'])

fig = go.Figure()

fig.add_trace(go.Scatter(
   x = df1['month'],
   y = df1['counts'],
  name = 'counts history'
))

# 强制X轴为分类类型,关闭日期自动解析
fig.update_xaxes(type='category')

fig.show()

运行后X轴会严格按照传入列表的顺序,直接展示2022-03、2022-04、2022-05、2022-06四个原始字符串,不会生成额外的日期类刻度。

备选方案:如果不希望修改轴类型,也可以对原始月份字符串做简单格式调整(比如在字符串前加一个空格),绕开Plotly的日期格式匹配规则,但该方案会改动原始展示值,非必要不推荐使用。

内容的提问来源于stack exchange,提问作者john_ny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:18:48