【发布时间】:2019-12-24 10:16:58
【问题描述】:
我正在寻找一种方法来指定绘制数据点的 X-Y 偏移量。我刚刚进入 Altair,所以请多多包涵。
情况:我有一个记录 30 人每日测量值的数据集。每个人每天都可以注册几种不同类型的测量值。
示例数据集和绘图,包含 2 个人和 2 种测量类型:
import pandas as pd
df = pd.DataFrame.from_dict({"date": pd.to_datetime(pd.date_range("2019-12-01", periods=5).repeat(4)),
"person": pd.np.tile(["Bob", "Amy"], 10),
"measurement_type": pd.np.tile(["score_a", "score_a", "score_b", "score_b"], 5),
"value": 20.0*np.random.random(size=20)})
import altair as alt
alt.Chart(df, width=600, height=100) \
.mark_circle(size=150) \
.encode(x = "date",
y = "person",
color = alt.Color("value"))
在上面的示例中,两种测量类型相互叠加。我想根据“measurement_type”列为圆圈添加一个偏移量,以便它们都可以在图表中的日期人位置周围可见。
我一直在搜索文档,但还没有弄清楚如何做到这一点 - 一直在尝试使用“堆栈”选项,dx 和 dy 选项,...
我觉得这应该只是另一个编码通道(offset 或类似的),但它不存在。
谁能指出我正确的方向?
【问题讨论】: