【问题标题】:Unable to export an Altair Plot directly to .png无法将 Altair 绘图直接导出到 .png
【发布时间】:2020-12-31 18:40:51
【问题描述】:

我目前无法将我制作的 Altair 图保存为 .png。我正在尝试将绘图导出为图像,以便可以将其直接嵌入到 Outlook 电子邮件中。我试过的两种方法是:

  1. 使用内置的alt.chart.save()embed_option'renderer' 作为png

    ((hours & oilp & wear & viscos & chart).resolve_scale(x='shared', color='independent')& (bars)).save("Chart.png", embed_options={'renderer':'png'})

  2. 使用带有 .png 扩展名的altair_saver.save()

    altair_saver.save(((hours & oilp & wear & viscos & chart).resolve_scale(x='shared', color='independent') & (bars)),"Chart.png")

我关注 this link 并使用 anaconda cmd 安装了 selenium 和 chromedriver,因为它似乎可以在浏览器中解释 Vega-lite 扩展,然后以图像的形式导出。

我收到的错误如下:

C:\Users\\Anaconda3\lib\site-packages\altair_saver\_core.py in _select_saver(method, mode, fmt, fp)
     67     else:
     68         raise ValueError(f"Unrecognized method: {method}")
---> 69 
     70     spec: JSONDict = {}
     71     if isinstance(chart, dict):

ValueError: No enabled saver found that supports format='png'

有没有人遇到过这个错误或者可能提供解决方案?

还可以将 vega HTML 输出直接嵌入到 Outlook 电子邮件的正文中,并完全悬停在功能上吗?我预计 Outlook 不会配备必要的呈现功能。

【问题讨论】:

    标签: python altair vega-lite vega


    【解决方案1】:

    我遇到了这个问题,问题是我需要更新我的 chromedriver 版本以匹配我的 Chrome 版本。

    【讨论】:

      【解决方案2】:

      如果您希望使用 chromedriver 保存图表,您看到的错误表明无法实例化 selenium chromedriver 实例。您可以尝试使用以下方法直接执行此操作:

      import selenium.webdriver
      driver = selenium.webdriver.Chrome()
      

      确保您的系统上正确安装了 selenium、chromedriver 和 Google Chrome,然后 PNG 输出应该可以正常工作。请注意,conda 无法为您安装 Google Chrome,也无法确保 chromedriver 的版本与您系统上的 Google Chrome 版本兼容。

      你可以在altair_saver documentation找到全套安装说明

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-11
        • 1970-01-01
        • 2021-06-25
        • 2021-09-19
        • 1970-01-01
        • 1970-01-01
        • 2011-12-08
        • 1970-01-01
        相关资源
        最近更新 更多