zoukankan      html  css  js  c++  java
  • matplot绘图基本使用

    先看一个最简单的例子

    import matplotlib.pyplot as plt

    plt.figure()

    plt.subplot(211)

    plt.plot([1,2,3], color=''r", linestyle='--')

    plt.show()

    1、figure的使用:自定义整张画布

     语法:figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)  

       num:图像编号或名称,数字为编号,字符串为名称

      figsize:指定图像的宽和高,单位为英寸(1英寸为2.5cm)

      dpi:指定绘图对象的分辨率,即每英寸多少个像素,默认是80

      facecolor:背景颜色

      edgecolor:边框颜色

      frameon:是否显示边框

        plt.figure("test",figsize=(5,5), dpi=100, facecolor='c', edgecolor='b', frameon=True)

        plt.show()

         

    2、subplot:创建单个子图

      将figure规划为多个子图,但是没跳subplot命令只会创建一个子图

     语法:subplot(nrows, ncols, sharex, sharey, subplot_kw, **fig_kw)

        nrows:将画布划分为n行

        ncols:将画布划分为n列

        sharex:所有subplot将使用相同的X轴刻度

        sharey:所有的subplot将使用相同的y轴刻度

        subplot_kw:用于创建各个subplot的关键字字典

        **fig_kw:创建fig时其他关键字,如plt.subplots(2,2,figsize=(5,5))

        

       

     3、add_subplots:创建多个子图

      add_subplots是面向figure对象编程的,matplotlib的pyplot中没有此命令

      语法和subplot类似

      fig, axes = plt.subplots(2,2)  # 将画图分成了横向两块,纵向两块

      ax1 = axes[0,0]

      ax2 = axes[0,1]

      ax3 = axes[1,0]

      ax4 = axes[1,1]

      # 画图

      ax1.plot(x,x)

      ax2.plot(x,-x)

      ax2.grid(color='r', linestyle='--', alpha=0.3)

      plt.show()

      

    4、add_axes:新增子区域

      此方法也是面向figure对象编程的,pyplot也是没有此命令的。

      add_axes为新增子区域,该区域可以任意大小,可以落座在figure画布内的任意位置。

      适合做一些图中图

      f = plt.figure()

      x = [1,2,3,4,5,6,7,8,9]

      y = [1,4,2,3,5,6,8,9,1]

      # 设置绘制图形的起始位置及宽高,从figure的10%位置开始绘制,宽高是figure的80%

      l,b,w,h = 0.1,0.1,0.8,0.8

      ax1 = f.add_axes(l,b,w,h)

      ax1.plot(x,y,'r')

      

      # 绘制图形2的起始位置,左边从20%开始画,底部从画布的60%处开始画,宽高是画布的25%

      l,b,w,h = 0.2,0.6,0.25,0.25

      ax2 = f.add_axes(l,b,w,h)

      ax2.plot(x,y,'b')

      plt.show()

      

    更多相关知识,可以查看官方文档说明:https://matplotlib.org/contents.html

  • 相关阅读:
    25款有用的桌面版博客编辑器
    iOS开发- "duplicate symbol for architecture i386" 解决的方法
    中国眼下拥有的人造卫星的种类及其作用
    深入浅出JMS(一)——JMS简单介绍
    android之【本地通知Notification】
    蓝牙设计
    html5中的容器标签和文本标签
    amaze ui中的icon button
    amaze ui表格斑马纹效果
    amaze ui响应式表格
  • 原文地址:https://www.cnblogs.com/fiona-zhong/p/10168861.html
Copyright © 2011-2022 走看看