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

C. *_*aun 4 python altair

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

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)
)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在这里我可以分别控制主情节标题和方面的标题。

现在假设我想创建相同的图表,但向每个条形添加文本注释:

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')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

这一次,species刻面上方有标题。在这种情况下,如何控制主情节标题和分面标题?

jak*_*vdp 6

传递给该facet方法的关键字参数将传递给alt.FacetChart创建的图表。

您想要传递给构面编码的任何关键字参数都可以通过alt.Facet()包装器传递,类似于其他编码。

例如:

alt.layer(c, t).facet(
    facet=alt.Facet('species:N', title=None),
    title='Main Title'
)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明