我有一个代码,我想用标签作为月份和年份的名称绘制 x 轴。
但目前它正在 x 轴上绘制所有时间戳,如 -
代码片段是:
fig = px.scatter(data_frame, x=data_frame.timestamp, y=data_frame.err_codes_integer,
hover_name=data_frame.col3,
hover_data= {"size": False,
"desc": True,
"count": True},
title=(log_txt_files[idx]),
labels={"err_codes_integer": "error/event"} # y label
)
fig.update_traces(showlegend=False,
marker = dict(size=data_frame['size'], symbol=data_frame['symbol'], color=data_frame['color'])
)
fig.update_xaxes(
dtick="M1",
tickformat="%b\n%Y"
ticklabelmode="period")
fig.show()
我该如何做仅获取 x 轴上的月份和年份名称,而不是所有时间戳?
谢谢
在代码中几乎已经完成了所有必要的步骤来格式化 x 轴刻度。问题在于
ticklabelmode
参数在
update_xaxes
方法中。对于想要实现的目标,它应该设置为
"auto"
而不是
"period"
。
以下是修改后的代码:
fig = px.scatter(data_frame, x=data_frame.timestamp, y=data_frame.err_codes_integer,
hover_name=data_frame.col3,
hover_data= {"size": False,
"desc": True,
"count": True},
title=(log_txt_files[idx]),
labels={"err_codes_integer": "error/event"} # y label
)
fig.update_traces(showlegend=False,
marker = dict(size=data_frame['size'], symbol=data_frame['symbol'], color=data_frame['color'])
)
fig.update_xaxes(
dtick="M1",
tickformat="%b\n%Y",
ticklabelmode="auto")
fig.show()
通过将
ticklabelmode
设置为
"auto"
,Plotly 将自动确定每个刻度的最佳标签,考虑到
dtick="M1"
,它将仅显示每个月的标签。
tickformat="%b\n%Y"
确保标签以月份名称和年份的形式显示。
这应该可以解决的问题,并允许在 x 轴上仅获取月份和年份名称。
标签:python,plotly,timestamp From: 78803327