jto*_*rca 5 python pdf plotly jupyter-notebook
我正在尝试创建我的课程计划的 pdf 导出,并且我对图表使用了离线绘图。在下面的 MWE 中,绘图将显示在 Jupyter Notebook 中,但在导出为 pdf 时不会显示。我使用File-->Download as-->PDF via Latex (.pdf)
.
我想制作 pdf 而不是使用 html。我知道将 html 导出转换为 pdf 可能需要额外的步骤,但我只是想知道是否有更直接的路由(代码修改?)可以让我直接通过File-->Download as-->PDF via Latex (.pdf)
from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
init_notebook_mode(connected=True)
import plotly.graph_objs as go
data = [go.Scatter(
x=[1, 2, 3],
y=[3, 2, 1])
]
iplot(data)
Run Code Online (Sandbox Code Playgroud)
您需要指定适当的默认渲染器(或多个渲染器,如果您想在笔记本中可视化它以及使用File-->Download as-->PDF via Latex (.pdf)
您提到的选项导出到 PDF 时)。
我自己也为此苦苦挣扎了几个小时,但最终对我有用的设置如下:
import plotly.io as pio
pio.renderers.default = "notebook+pdf" # Renderer for Notebook and HTML exports + Renderer for PDF exports
# init_notebook_mode(connected=True) # Do not include this line because it may not work
Run Code Online (Sandbox Code Playgroud)
请注意,您可以使用符号连接任意数量的渲染器+
,Plotly 会神奇地知道何时使用它们。
我认为因为绘图是 svg 对象并由 javascript 生成,所以我没有在我的 jupyter 笔记本中导出到 PDF,所以我无法检查和确认我的答案。
Plotly Offline 没有显示为图像,你可以使用 Plotly Online 来做到这一点,它可以免费生成图表,
您需要创建一个在线帐户,还需要粘贴来自plotly网站的用户名和API密钥(API密钥可以在设置中找到)。
注意:请检查情节是否公开或私人共享,我对您的情节公开不承担任何责任。
无论如何,这将为您提供图表的图像输出,您可以将其导出为 PDF
代码:
import plotly
import plotly.graph_objs as go
plotly.plotly.sign_in('<<username goes here>>', '<<api key goes here>>')
trace = go.Bar(x=[2, 4, 6], y= [10, 12, 15])
data = [trace]
layout = go.Layout(title='A Simple Plot', width=800, height=640)
fig = go.Figure(data=data, layout=layout)
plotly.plotly.image.save_as(fig, filename='a-simple-plot.png')
from IPython.display import Image
Image('a-simple-plot.png')
Run Code Online (Sandbox Code Playgroud)