如何在 Altair 的 mark_circle() 中匹配 2 个不同变量的比例?

How can I match the scale for 2 different variables in mark_circle() in Altair?

我正在使用 Altair,由于变量的大小,我无法重叠 2 个 mark_circle() 图表。我想叠加 2 个圆圈,这样我就可以将一个变量的大小与另一个变量的大小进行比较。

问题是一个变量的数量级为数百万,第二个变量的范围为 0 到 100,当它们重叠时,由于与数百万相比的大小,第二个变量未显示。

我试过玩 scale=alt.Scale(range=(xx,xx)) 但我不能让它工作,所以不确定这是否可能或者我在哪里迷路了?

这是我的代码

pop = alt.Chart(df).mark_circle(color='blue').encode(
    y = alt.Y('Top_City', sort=alt.SortField(field="Rank_mean", order='ascending')),
    size = alt.Size('Pop_mean')
)
pop
fa = alt.Chart(df).mark_circle(color='yellow').encode(
    y = alt.Y('Top_City', sort=alt.SortField(field="Rank_mean", order='ascending')),
    size = alt.Size('FARS_PerCapita')
)
fa

理想情况下,我希望做的时候有像最后一张图片那样的东西

pop + fa

看了半天终于解决了我的问题

alt.layer(pop, fa).resolve_scale(size='independent')