如何将情节表达图保存到 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?