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

Altair图表tooltip如何展示pandas DataFrame原始UTC时间而非本地时间

问题原因

Altair 底层基于 Vega-Lite 渲染,temporal 类型的时间数据默认会按浏览器当前所在的本地时区做转换后显示。你 X 轴使用了带utc前缀的时间单元utchoursminutes,强制固定了UTC时区渲染,而 tooltip 默认没有指定时区配置,就会自动转成访问者的本地时间。

解决方案

有两种常用的实现方式,都可以固定显示原始UTC时间:

方案1:直接使用预处理好的时间字符串(最稳妥)

你代码中已经提前生成了存储UTC标准格式字符串的iso字段,直接把tooltip的数据源换成这个字段,类型设为nominal即可,完全不会触发时区转换:

dia1 = alt.Chart(df).mark_rule().encode(
    x=alt.X('utchoursminutes(utc)', type='temporal'),
    y=alt.Y('utchoursminutes(utc)', type='temporal'),
    tooltip=[
        alt.Tooltip(field="iso",
                    type="nominal",
                    title="utc")
    ],
).interactive()

方案2:指定tooltip的时间格式为时区UTC

不需要新增字段,直接在Tooltip配置中指定formatType为utc,Vega-Lite就会强制按UTC时区格式化时间:

tooltip=[
    alt.Tooltip(field="utc",
                type="temporal",
                title="utc",
                format="%Y-%m-%dT%H:%M:%S",
                formatType="utc")
]

内容的提问来源于stack exchange,提问作者Jochen Schäfer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:36:02