zoukankan      html  css  js  c++  java
  • Python 保存图形为pdf(多子图,不改顺序)


    matplotlib 画图时可以做多个子图,比如图1,但是问题是如何保存这种图形为 pdf 格式?

    目前多数保存画为 pdf 的方法主要围绕的都是如何一次性保存多个图形到同一个 pdf 文档,即一个接一个竖排图像的保存,如图2所示。

    因此,对于仍然想保存原始2*2形式图像的pdf,可以采用方法如下,最终保存的形式如图3所示。

    可以参考链接:https://matplotlib.org/stable/gallery/misc/rasterization_demo.html#sphx-glr-gallery-misc-rasterization-demo-py

    注意:使用 axes 画图时需要注意常用设置的转换,比如
    plt.legend() > ax[0,0].legend()
    plt.xlabel() > ax[0,0].set_xlabel()
    plt.xticks() > ax[0,0].set.xticks()
    plt.xlim() > ax[0,0].set_xlim()
    ...(更多设置参考:https://matplotlib.org/stable/api/axes_api.html#the-axes-class)

    import matplotlib.pyplot as plt
    fig, ax = plt.subplots(2, 2, figsize=(8,6))
    # 第一行第一列的图形
    x1 = [1,2,3,4,5]
    y1 = [5,5.5,7,9,12]
    ax[0,0].plot(x1,y1,'-ro',ms=5) # 红色实线连点
    
    # 第一行第二列的图形
    x2 = [1,2,3,4,5]
    y2 = [3,4,5,7,10]
    ax[0,1].plot(x2,y2,'-.bo',ms=5) # 蓝色虚线连点
    
    # 第二行第一列的图形
    x2 = [1,2,3,4,5]
    y2 = [3,4,5,7,10]
    ax[1,0].plot(x2,y2,'-.bo',ms=5) # 蓝色虚线连点
    
    # 第二行第二列的图形
    x2 = [1,2,3,4,5]
    y2 = [3,4,5,7,10]
    ax[1,1].plot(x2,y2,'-.bo',ms=5) # 蓝色虚线连点
    plt.savefig("Test.pdf", dpi=300)

    图1


    图2

     

                                                      图3

     
  • 相关阅读:
    undo表空间
    SQL*Plus快速入门
    win10用命令net启动服务没权限解决办法
    Oracle表空间管理
    Oracle数据泵(上)
    windows的bat脚本
    Servlet映射细节
    JSP技术(一)
    690. Employee Importance
    BFS和DFS详解以及java实现(转载)
  • 原文地址:https://www.cnblogs.com/lmj-sky/p/15163092.html
Copyright © 2011-2022 走看看