使用plotly python导出pdf

时间:2016-05-15 18:09:04

标签: python pdf export plotly

我用这个生成了一个图表:

import plotly.plotly as py
import plotly.graph_objs as go

fig = go.Figure(data=data, layout=layout)
plot_url = py.plot(fig, filename='stacked-bar')

我尝试使用以下方式生成pdf:

from xhtml2pdf import pisa

result_file = open('report.pdf', "w+b")

pisa_status = pisa.CreatePDF(
url,                 
dest=result_file)            

result_file.close()       

但我最终得到一个带有网址的pdf文件,而不是图表。

如何将情节图导出为pdf?一个网页,当我点击导出按钮时,我能够生成jpeg和png,但不能生成pdf。另外,导出时我无法控制图形的大小,如何控制尺寸?拉伸图表使其更宽一点。

感谢。

2 个答案:

答案 0 :(得分:0)

根据离线使用文档https://plot.ly/python/offline/,您可以使用以下内容导出图像

plotly.plotly.image.save_as(figure, 'my_plot.png')

但要导出pdf,您必须拥有付费帐户。使用免费帐户,您只能导出png或jpg格式(每天100个API调用)。但不是pdf s。

如果你堆叠错误如:

  

exceptions.PlotlyError(return_data ['错误'])

有可能您在访问Plotly API时遇到一些身份验证问题。确保您拥有一个帐户,并使用正确的用户名和api_key配置〜/ .plotly / .credentials(您可以在配置文件设置中找到它)。

要控制图表的大小,您需要相应地setup your layout

答案 1 :(得分:0)

API现在已经更改,所以我认为应该发布更新。

新方法是使用plotly.io.write_image

以下是示例:

plotly.io.write_image(fig, 'output_file.pdf', format='pdf')

支持以下格式:png,jpg(或jpeg),webp,svg,pdf