Altair 和 Panel:另存为按钮未显示

Altair and Panel: Save as button not showing

我正在使用 Python 库 Altair 绘图并让用户另存为 SVG 文件。要导入数据和交互配置,我想使用 Panel 库。它们集成得很好,但是当我将 Altair 图放在 Panel 元素中时,保存按钮丢失了。其他交互工作正常。 这似乎是一个普遍的问题,因为我在具有保存按钮的面板元素中找不到 Altair 图的图像。但是,我找不到任何人解决这个具体问题,所以问题是有没有办法恢复按钮以便用户可以保存?

(我知道 altair_saver 以编程方式保存,但不幸的是我们不能允许依赖我们的系统)

这里是带和不带面板的 Altair 的简单示例。

这是代码:

import pandas as pd
import altair as alt
alt.__version__

import panel as pn
pn.extension('vega')
pn.__version__

dictdata = {'variable': ['A', 'B', 'C', 'D'], 'value': [1, 3, 2, 4] }
df = pd.DataFrame.from_dict(dictdata)

chart = alt.Chart(df).mark_bar().encode(
   y = alt.Y('variable:N'),
   x = alt.X('value:Q'),
)
chart

pn.Row(chart)

此“保存按钮”称为 操作菜单 ,可在 vega-embed 中使用 actions 选项进行配置。

Panel 的 vega 图表嵌入通过设置 {actions: false} 明确删除了操作,如下所示:panel/models/vega.ts#L71.

不幸的是,该软件包似乎没有提供任何配置方法。您可以尝试向 Panel 库提交功能请求。