首页 > 解决方案 > 有没有办法在 altair 图表上添加单个注释?

问题描述

在 Altair 图表的底部,我想输入我的域名。这是给图表加水印。有没有办法做到这一点?这是一些示例代码。我想在 x 轴上放置一些低于 100 的文本。那可能吗?

import altair as alt
import numpy as np
import pandas as pd

x = np.arange(100)
source = pd.DataFrame({
  'x': x,
  'f(x)': np.sin(x / 5)
})

alt.Chart(source).mark_line().encode(
    x='x',
    y='f(x)'
)

标签: pythonaltair

解决方案


无法添加特定的水印,但您可以滥用图表标题来执行此操作。例如:

alt.Chart(source).mark_line().encode(
    x='x',
    y='f(x)'
).properties(
    title=alt.TitleParams(
        'http://mywebsite.com',
        color='lightgray',
        baseline='bottom',
        orient='bottom',
        anchor='end'
    )
)

在此处输入图像描述

如果您仍然想要图表上的实际标题,您可以通过将图表包装在具有自己标题的串联中来完成此操作:

chart = alt.Chart(source).mark_line().encode(
    x='x',
    y='f(x)'
).properties(
    title="The Title"
)

alt.concat(chart,
    title=alt.TitleParams(
        'http://mywebsite.com',
        color='lightgray',
        baseline='bottom',
        orient='bottom',
        anchor='end'
    )
)

在此处输入图像描述


推荐阅读