如何使用Altair进行注释

8
我正在尝试在图中写一些文字,以突出我的绘图中的某些内容(类似于matplotlib中的“annotate”功能)。有什么建议吗?谢谢。

请参见:https://github.com/altair-viz/altair/issues/349 - Nipun Batra
1个回答

9

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

  1. 使用 mark_text() 指定注释的位置、字体大小等。
  2. 使用 datumtransform_filter()选择 需要注释的数据子集。请注意代码中的行 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 绑定到图表上来获得交互式注释。


你要如何将所有文本注释对齐于图表底部? - getup8
你可以在注释图的末尾添加.transform_calculate(petalWidth="0.2"),将petalWidth设置为0.2并位于图形底部。请注意,这必须作为字符串给出。 - FlorianGD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接