在Altair LayerChart中指定图标题和构面标题

时间:2019-10-29 20:01:32

标签: python altair

使用虹膜数据集,我们可以创建一个简单的多面图:

import altair as alt
from vega_datasets import data
iris = data.iris.url

alt.Chart(iris, title='Main Title').mark_bar().encode(
    x='petalWidth:Q',
    y='count(petalLength):Q',
    color='species:N',
    facet=alt.Facet('species:N', title=None)
)

enter image description here

在这里,我可以分别控制主图标题和构面的标题。

现在让我们说我要创建相同的图表,但在每个栏中添加文本注释:

base = alt.Chart(iris).encode(
    x='petalWidth:Q',
    y='count(petalLength):Q',
    color='species:N',
    text='count(petalLength):Q'
)

c = base.mark_bar()
t = base.mark_text(dy=-6)

alt.layer(c, t).facet('species:N', title=None).properties(title='Main Title')

enter image description here

这一次,构面上方是species标题。在这种情况下,如何同时控制主图标题和构面标题?

1 个答案:

答案 0 :(得分:3)

传递给System.Text.Json方法的关键字参数将传递给创建的Newtonsoft图表。

要传递给构面编码的任何关键字参数,都可以通过facet包装器传递,类似于其他编码。

例如:

alt.FacetChart

enter image description here