我试图将通过 for 循环生成的所有图表保存在单个 PDF 文件中。 我的样本数据:
import pandas as pd
import numpy as np
import plotly.io as pio
import plotly.express as px
import plotly.graph_objects as go
np.random.seed(0)
df = pd.DataFrame({'State' : np.repeat(['NY', 'TX', 'FL', 'PA'], 12),
'Month' : np.tile(pd.date_range('2023-09-01', '2024-08-01', freq = 'MS'), 4),
'Actual' : np.random.randint(1000, 1500, size = 48),
'Forecast' : np.random.randint(1000, 1500, size = 48)})
df['Month'] = pd.to_datetime(df['Month'])
df.set_index('Month', inplace = True)
我可以使用以下方法在 jupyter 笔记本中生成图表:
for s in df['State'].unique():
d = df.loc[df['State'] == s, ['Actual', 'Forecast']]
fig = px.line(d, x = d.index, y = d.columns)
fig.update_layout(title = 'Actuals vs Forecast for ' + s, template = 'plotly_dark', xaxis_title = 'Month')
fig.update_xaxes(tickformat = '%Y-%B', dtick = 'M1')
fig.show()
有人可以告诉我如何在一个 pdf 文件中获取所有图表吗?
我尝试使用
fig_trace
和make_subplots
方法,使用图形对象go.Scatter
代替px.line
,但它不起作用。