【发布时间】:2020-06-16 18:02:21
【问题描述】:
嗯,我认为这是新的,我什至不确定这是否可能。但是我在 Jupyter Notebook 单元格中有一个循环,它会生成几个图表。我想知道是否有办法让所有这些图形出现在像 pdf 之类的文件中?
差不多是这样的:
d = {'group': ['A', 'B','A', 'B','A', 'B','A', 'B'], 'col2': [3, 4,3,4,5,6,5,10]}
example = pd.DataFrame(data=d)
def plot_func(array):
plt.plot(array)
plt.savefig()
for i in range(len(example.group.unique())):
plot_func(example[example['group']==example.group.unique()[i]]['col2'])
但是,我不想单独保存多个图表,而是将所有图表保存在一个像 pdf 文档这样的地方。我有两个脚本这样做,但其中一个是使用 Seaborn。因此,如果您知道更通用的答案,我将不胜感激。如果没有,没关系,任何事情都会有很大帮助。
另一种解释方式是:如何打印 pdf 中单元格的所有输出?
【问题讨论】:
-
您可以尝试使用matplotlib subplots 将您正在制作的每个图表都放在同一个图形上,然后像处理任何其他图形一样将其保存到一个文件中。
-
我不确定这是否可行。在函数内部还有更多我没有展示的内容。例如,我计算分位数,然后绘制一个分类图,其中每个框都是一个分位数。因此,我不确定您的建议是否有效,因为每次该功能都会重置画布。不会吗?
-
函数内部不需要生成图形和坐标轴。您可以先创建它们,然后迭代您的数据,在您进行时填充子图轴。编辑:使用 matplotlib 子图查看this gallery of examples。
标签: python matplotlib jupyter-notebook seaborn