7

我正在尝试在图中写一些文本以突出显示我的情节中的某些内容(相当于 matplotlib 中的“注释”)。任何想法?谢谢

4

1 回答 1

7

您可以通过两个步骤将注释添加到 Altair 图中:

  1. 用于mark_text()指定注解的位置、字体大小等。
  2. 使用transform_filter()fromdatum选择需要标注的点(数据子集)注意线from altair import datum.

代码:

import altair as alt
from vega_datasets import data
alt.renderers.enable('notebook')

from altair import datum #Needed for subsetting (transforming data)


iris = data.iris()

points = alt.Chart(iris).mark_point().encode(
    x='petalLength',
    y='petalWidth',
    color='species')

annotation = alt.Chart(iris).mark_text(
    align='left',
    baseline='middle',
    fontSize = 20,
    dx = 7
).encode(
    x='petalLength',
    y='petalWidth',
    text='petalLength'
).transform_filter(
    (datum.petalLength >= 5.1) & (datum.petalWidth < 1.6)
)


points + annotation

产生: Altair 图中的注释

这些是静态注释。您还可以通过绑定selections到图来获得交互式注释。

于 2018-04-28T06:36:54.297 回答