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

猜你喜欢

转载自www.cnblogs.com/fiona-zhong/p/10168861.html