如何在Plotly中将X轴设置为德语月份格式
将Plotly图表X轴美式月份缩写替换为德语缩写的解决方案
如果需要把Plotly折线图X轴的美式月份缩写替换为德语版本,比如Oct→Okt、Dec→Dez,可以用以下两种方法实现:
方法一:利用Plotly区域设置自动切换
Plotly支持通过区域设置(locale)自动适配不同语言的日期格式,直接指定德语区域即可让%b格式符输出德语月份缩写。修改后的代码如下:
import plotly.express as px df = px.data.stocks() fig = px.line(df, x="date", y=df.columns, title='custom tick labels') # 配置X轴为每月刻度,并用德语区域显示月份缩写 fig.update_xaxes( dtick="M1", tickformat="%b %y", tickformatoptions=dict(locale='de') ) fig.show()
执行后,X轴会自动显示德语标准月份缩写:Mar→Mrz、Oct→Okt、Dec→Dez,完全匹配需求。
方法二:手动自定义刻度标签
如果需要对特定月份进行非标准缩写替换(比如你提到的May替换为Mrz),可以手动生成刻度值和对应标签,精准控制显示内容:
import plotly.express as px import pandas as pd df = px.data.stocks() fig = px.line(df, x="date", y=df.columns, title='custom tick labels') # 定义美式到目标德语缩写的映射表 month_abbr_map = { 'Jan': 'Jan', 'Feb': 'Feb', 'Mar': 'Mrz', 'Apr': 'Apr', 'May': 'Mrz', # 按需求将May替换为Mrz 'Jun': 'Jun', 'Jul': 'Jul', 'Aug': 'Aug', 'Sep': 'Sep', 'Oct': 'Okt', 'Nov': 'Nov', 'Dec': 'Dez' } # 处理日期数据,提取每月第一天作为刻度值 df['date'] = pd.to_datetime(df['date']) tick_vals = df['date'].dt.to_period('M').dt.start_date.unique() # 根据映射表生成自定义标签 tick_text = [f"{month_abbr_map[d.strftime('%b')]} {d.strftime('%y')}" for d in tick_vals] # 配置X轴使用自定义刻度 fig.update_xaxes( tickmode='array', tickvals=tick_vals, ticktext=tick_text ) fig.show()
这种方法可以完全自定义每个刻度的显示文本,满足特殊场景的缩写需求。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

