如何将情节表达图保存到 html 或静态图像文件中?

Posted

技术标签:

【中文标题】如何将情节表达图保存到 html 或静态图像文件中?【英文标题】:How to save plotly express plot into a html or static image file? 【发布时间】:2020-05-06 00:29:33 【问题描述】:

但是,我觉得用 plotly.express 保存图形非常棘手。

如何将 plotly.express 或 plotly plot 保存到单独的 html 或静态图像文件中?有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

更新答案:

使用较新版本的 plotly,static Image export in Python 轻而易举。只需确保使用以下命令安装 kaleido:

pip install -U kaleido

或者,对于 Anaconda:

conda install -c conda-forge python-kaleido

然后运行

fig.write_image("yourfile.png") 

.jpeg.pdf 等文件类型也是可用的选项。

制作单独的html文件还是很容易的:

只需使用plotly.offline.plot(fig, filename='C:/plotlyplots/canada_offline.html')

这将在所需文件夹中为您提供一个名为 lifeExp 的绘图快速条形图的 html 文件。记住import plotly 而不仅仅是import plotly.express as px

完整代码:

# imports
import plotly
import plotly.express as px

# data
df = px.data.gapminder().query("continent=='Oceania'")

# plotly express bar chart
fig = px.line(df, x="year", y="lifeExp", color='country')

# html file
plotly.offline.plot(fig, filename='C:/plotlyplots/lifeExp.html')

剧情:

文件夹中显示的文件:

从这里您可以在任何浏览器或任何其他您想要的方式中打开文件。

这是使用Notepad++显示的内容

如果您不介意一些体力劳动,您可以使用工具栏保存.png 版本:


静态图片的旧答案:

自动生成静态图像有点有点棘手。

如果您更喜欢 html,请查看 Static Image Export in Python。

我喜欢使用包括orca 在内的方法,可以生成各种图像文件。除了使用与node.js 一起安装的npm 之外,我还没有找到任何其他方法来安装它窗户):

npm install -g electron@1.8.4 orca

pip install psutil requests

然后你可以用fig.write_image("C:/plotlyplots/lifeExp.png")改变上面sn-p的最后一行,生成一个.png文件。

【讨论】:

感谢韦斯特兰。太棒了!!!我很感激。还有一个问题,如果我想将情节包含在 powerpoint 中,我是否仍然可以拥有像 plotly 那样设计的动画?例如,使用animation_frame='year',改变不同年份的情节。谢谢 感谢韦斯特兰。我刚刚发布了一个新问题。 @roudan 乐于助人!我不确定是否有直接的方法可以做到这一点。我建议您将其作为一个新问题提出。我想自己知道答案! 很好的答案@vestland。对于那些喜欢保存 png 文件的人,另存为 html 并在浏览器中打开此 html 会提供“将绘图下载为 png”选项(单击顶部 Plotly 菜单中的照片相机图标)。【参考方案2】:

在 Python 中导出静态图像

短故事:pip install kaleido,然后是fig.write_image(<output_filename>)

我偶然发现了这一点,因为我也在寻找如何将图形导出到静态图像的方法。我意识到安装 orca 并使其工作并不是那么容易,但好在他们实际上制作了这个名为 kaleido 的软件包,它更易于安装。从这些链接中找到它:

https://github.com/plotly/orca/issues/194 https://plotly.com/python/static-image-export/

【讨论】:

感谢 rjd,知道这真是太棒了。我很感激。

以上是关于如何将情节表达图保存到 html 或静态图像文件中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 HTML5 <canvas> 保存为 ICO 图像(图标文件)或 .cur 文件(静态鼠标光标)而不是 JavaScript 中的 PNG?

将 matplotlib 图添加到保存为图像的现有图

将多个情节图下载到 PDF Shiny

Octave,如何保存绘图图?

如何将绘图保存为磁盘上的图像?

如何将绘图保存为磁盘上的图像?