我正在尝试在图中写一些文字,以突出我的绘图中的某些内容(类似于matplotlib中的“annotate”功能)。有什么建议吗?谢谢。
您可以通过以下两个步骤在Altair图中添加注释:
mark_text()
指定注释的位置、字体大小等。datum
的 transform_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
这些是静态注释。您还可以通过将 selections
绑定到图表上来获得交互式注释。
.transform_calculate(petalWidth="0.2")
,将petalWidth设置为0.2并位于图形底部。请注意,这必须作为字符串给出。 - FlorianGD