python matplotlib 画的多张图,合并写入同一pdf

标签: python matplotlib 多张图 放在一个pdf里
0人阅读 评论(0) 收藏 举报
分类:

参考: 知乎题主问答(非常感谢)和mpl官方网站例子

https://www.zhihu.com/question/68489126/answer/334893776

https://matplotlib.org/examples/pylab_examples/multipage_pdf.html

知乎题主说比较复杂,我觉得还挺方便的,可能我的图是写好函数以后根据变量名字循环生成的,所以比较简单。

本来以前是画图的函数里结尾是plt.close()。现在将这个去掉,在with PdfPages('pdf文件名字') as pdf:里面,循环画图,但是每次循环的时候,加上 pdf.savefig()和plt.close()。plt.close()放在函数外面。

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号
mpl.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
from matplotlib.backends.backend_pdf import PdfPages
#需要画的变量的名字都放在factorList里面,写一个画图(折线图)的函数plot_factor,需要三个参数
#但是这个画图函数里面没有写plt.close(),而是在循环时候写在函数外。
with PdfPages('pdf名称.pdf') as pdf:  
    for i in range(len(factorList)):
        plot_factor(factorList[i], xaxislabel[i], dateSeries)
        pdf.savefig()
        plt.close()



查看评论

Python算法实战视频课程--图

图是程序设计中被广泛使用的数据结构, 它比栈,队列,树更复杂. 图是对实际问题进行数学抽象和描述的强有力工具.本套课程我们学习图的基本概念,常用接口, 以及如何在python中使用图, 图的基本算法, 最后以几个经典问题体会图在实际问题中的应用.
  • 2016年05月11日 09:36

Matplotlib 入门(三):多图合并

一、多合一显示    1、subplot方法:设置行、列和起始点 plt.subplot(2,1,1)      # 分成两行一列,起始点为1    2、代码 # -*- codin...
  • u013584315
  • u013584315
  • 2017-09-24 16:06:43
  • 1652

python使用matplotlib:subplot绘制多个子图

python使用matplotlib:subplot绘制多个子图 CSDN GitHub python使用matplotlib:subplot绘制多个子图 AderXCoding/lan...
  • gatieme
  • gatieme
  • 2017-03-11 14:20:28
  • 26463

python35 利用matplotlib的subplot画多幅图

一 画直方图import matplotlib.pyplot as plt plt.figure("hist") arr=images.flatten() n, bins, patches = plt...
  • qq_16949707
  • qq_16949707
  • 2017-07-15 15:28:11
  • 1765

pandas+matploblib画图 叠加两张图

《python数据分析与挖掘实战》原书上的例子: %matplotlib inline import matplotlib.pyplot as plt import pandas as pd plt....
  • o1101574955
  • o1101574955
  • 2016-06-09 22:42:07
  • 8055

matplotlib绘制多个子图——subplot

在matplotlib下,一个Figure对象可以包含多个子图(Axes),可以使用subplot()快速绘制,其调用形式如下: subplot(numRows, numCols, plot...
  • sunshihua12829
  • sunshihua12829
  • 2016-10-11 11:02:03
  • 30782

Python第三方库——Matplotlib_在同个figure中绘制多个图并给出legend

import matplotlib.pyplot as pltline1, = plt.plot([1,2,3], linestyle='--') line2, = plt.plot([3,2,1],...
  • VictoriaW
  • VictoriaW
  • 2017-06-07 09:30:37
  • 1714

matplotlib绘制多个子图——plt.subplot()

在matplotlib下,一个Figure对象可以包含多个子图(Axes),可以使用subplot()快速绘制,其调用形式如下: [python] view plain copy...
  • DATA8866
  • DATA8866
  • 2017-03-27 16:59:33
  • 3178

python matplotlib画图 画多个子图

""" 绘制多个子图 一个Figure对象可以包含多个子图(Axes),在matplotlib中用Axes对象表示一个绘图区域,称为子图,可以使用subplot()快速绘制包含多个子图的图表,它的调用...
  • blog_empire
  • blog_empire
  • 2015-01-04 16:16:44
  • 25798

使用pyplot在一张画布上绘制多个子图的python脚本

#coding=utf8 import matplotlib.pyplot as plt import numpy as np #创建数组:x、y1、y2、y3、x4、y4 x = np.arra...
  • henni_719
  • henni_719
  • 2017-08-22 16:29:21
  • 4828
    个人资料
    持之以恒
    等级:
    访问量: 795
    积分: 214
    排名: 34万+
    文章分类
    文章存档
    最新评论