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

标签 python altair typesetting

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

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

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

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

保存为 png 的 Altair 图表: enter image description here

手动删除图表周围空白后的图像: enter image description here

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

最佳答案

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

alt.renderers.set_embed_options(
    padding={"left": 0, "right": 0, "bottom": 0, "top": 0}
)

每边的默认填充为 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',
)

enter image description here

关于python - 保存 Altair 图表,周围没有空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60691080/

相关文章:

python - 在 Altair 折线图末尾添加标签

wolfram-mathematica - 如何在 Mathematica 中创建一个带圆圈的符号?

casting - VHDL 转换错误

python - 使用 TF 数据集和 Eager 创建有状态计数器

python - 使用 Altair 增加条形图中的条宽

Python - Altair - 带选择的堆积条形图

latex - 在 latex 'book' 中包含摘要的最佳方法?

python - pytest-4.x.x : How to report SKIPPED tests like XFAILED?

python - 从末尾开始有效地列出元组中的项目

c++ - 如何覆盖 Py_GetPrefix()、Py_GetPath()?