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

如何使用Altair实现柱状图X轴与Y轴双向滚动交互

代码修改方案

直接替换原有代码即可,修改后同时支持X、Y轴的缩放平移滚动:

import altair as alt
import pandas as pd

df = pd.read_csv('graph.csv')

# 定义双轴绑定的缩放平移交互
zoom_pan = alt.selection_interval(
    bind='scales',
    encodings=['x', 'y']
)

alt.Chart(df).mark_bar().encode(
    x = alt.X('SWIPE_START_DATETIME:T'),
    x2 = alt.X2('SWIPE_END_DATETIME:T'),
    y = 'NO_OF_HOURS:Q',
    tooltip = ['SWIPE_START_DATETIME:T', 'SWIPE_END_DATETIME:T', 'NO_OF_HOURS:Q']
).add_params(zoom_pan)

核心修改说明

  • 给所有字段显式指定数据类型::T标记时间类型、:Q标记数值类型,避免Altair自动类型识别错误导致的交互失效
  • 替换默认的interactive()方法为显式定义的交互选择器,通过encodings=['x', 'y']强制指定交互同时作用于X、Y轴,两个轴都支持滚轮缩放、拖拽平移操作
  • 如果你使用的是Altair 4.x及更早版本,运行时提示add_params不存在,把最后一行add_params(zoom_pan)替换为add_selection(zoom_pan)即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:45:01