保存 Altair 图表,周围没有空白

Eli*_*i_B 3 python typesetting altair

我在我的学术论文中使用 Altair 图表。

会议论文有严格的页数限制。自然地,我想使用我决定为实际图表分配的所有空间,而不是为它周围的空白空间。Latex 排版框架会在图形周围自动添加空白,并警告作者不要篡改它,因此我不需要在图像中添加额外的空白。

目前,我的方法是,每次生成要粘贴到纸张中的图表时,我首先使用 KolourPaint 手动删除 png 图像周围的空白区域。当然,这既乏味又容易出错。

有没有办法将 Altair 配置为仅在图表周围生成最少的空白?如果重要的话,垂直的白色边框对我来说更重要。

Altair 图表另存为 png: 在此处输入图片说明

手动删除图表周围的空白区域后的图像: 在此处输入图片说明

(您可能需要下载两个图像并在图像查看器中打开它们才能更清楚地看到白色边框)

jak*_*vdp 5

Altair 图表周围的空间由Vega 的 view.padding 属性控制,可以在渲染器中设置:

alt.renderers.set_embed_options(
    padding={"left": 0, "right": 0, "bottom": 0, "top": 0}
)
Run Code Online (Sandbox Code Playgroud)

每边的默认填充为 5。

例如,使用fivethirtyeight主题更好地显示填充,您可以创建这样的图表:

import altair as alt
alt.renderers.set_embed_options(
    theme="fivethirtyeight",
    padding={"left": 0, "right": 0, "bottom": 0, "top": 0}
)

# load a simple dataset as a pandas DataFrame
from vega_datasets import data
cars = data.cars()

alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明