Altair散点图

时间:2020-06-29 14:15:26

标签: charts altair

我正在寻找一种基于多种名义条件制作点图的方法。我正在x和y上绘制2个值,但我想根据年份和“类型”来区分这些点。

目前,我的方法是将年份分配给颜色,而将“类型”分配给形状

color=alt.condition(selection, alt.Color('Date:T'), alt.value('lightgray'), scheme='red' )
shape = alt.Shape('type:N')

几个问题:

  1. 是否可以更改点的配色方案而不是默认颜色来表示红色/蓝色/黑色等阴影?
  2. 是否可以为“类型”分配一种配色方案/阴影(而不是形状)?

1 个答案:

答案 0 :(得分:1)

  1. 是否可以更改点的配色方案而不是默认颜色来表示红色/蓝色/黑色等阴影?

是的,请参见https://altair-viz.github.io/user_guide/customization.html#customizing-colors。您可以使用任何内置的Vega color schemes,也可以使用此处讨论的方法定义自己的方法。从您的示例来看,它可能看起来像这样:

color=alt.condition(
  selection,
  alt.Color('Date:T', scale=alt.Scale(scheme='reds')),
  alt.value('lightgray')
)
  1. 是否可以为“类型”分配一种配色方案/阴影(而不是形状)?

否,没有内置的方法可基于数据中的两个字段应用两个色标(标记将如何在分配给它的两种颜色之间进行选择?)一种可能的方法是将不透明度编码用于第二场,反映在标记的亮度上。对于您的示例,它可能看起来像这样:

opacity='type:N'