【发布时间】:2020-11-07 20:10:24
【问题描述】:
这是这个问题Link的后续问题
我有以下代码为每个人生成一个数字:
# Import pandas library
import pandas as pd
import numpy as np
# Data
data = [['tom', 10,1], ['nick', 15,1], ['dom', 14,1], ['tom', 15,2], ['nick', 18,2], ['dom', 15,2], ['tom', 17,3]
, ['nick', 14,3], ['tom',16 ,4], ['dom', 22,3]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['Name', 'Score','Attempt'])
# print dataframe.
df.sort_values(by='Score',ascending=False,inplace=True)
#Plot Images
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('seaborn')
for name in df['Name'].unique():
fig, ax = plt.subplots()
#df = df.sort_values(by='Score',ascending=False).reset_index(drop=True)
sub = df[df.Name == name]
sns.barplot(y='Attempt',x='Score',data=sub, orient='h', ax=ax,order=sub['Attempt'])
ax.set_title(name.capitalize())
这给了我:
问题:
如何添加到循环中以将每个单独的图形放到 pdf 中的新页面上。理想情况下,我可以运行代码并生成 3 页 PDF。 EG -
Page 1 = Dom
Page 2 = Nick
Page 3 = Tom
任何帮助将不胜感激!谢谢!
【问题讨论】:
-
可能将每个保存为单独的 PDF(可能保存为临时文件),然后在创建后将它们组合起来。
标签: python pandas matplotlib seaborn