Python Matplotlib绘图技巧全面总结

一、Pyplot子库绘制2D图表

1、Matplotlib Pyplot

Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。

使用的时候,我们可以使用 import 导入 pyplot 库,并设置一个别名 plt:

import matplotlib.pyplot as plt

就可以使用 plt 来引用 Pyplot 包的方法。

以下实例,我们通过两个坐标 (0,0) 到 (6,100) 来绘制一条线:

import matplotlib.pyplot as plt
import numpy as np
# 使用 numpy 构造数组作为数据
x=np.array([0,6]) # x轴的数据
y=np.array([0,100]) # y轴的数据
plt.plot(x, y)
plt.show() # 让图形得到显示

plot() 用于画图它可以绘制点和线,语法格式如下:

# 画单条线
plot([x], y, [fmt], *, data=None, **kwargs)
# 画多条线
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

  • x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。
  • fmt:可选,定义基本格式(如颜色、标记和线条样式)。
  • **kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。
  • 颜色字符:‘b’ 蓝色,‘m’ 洋红色,‘g’ 绿色,‘y’ 黄色,‘r’ 红色,‘k’ 黑色,‘w’ 白色,‘c’ 青绿色,‘#008000’ RGB 颜色符串。多条曲线不指定颜色时,会自动选择不同颜色

    线型参数:‘‐’ 实线,‘‐‐’ 破折线,‘‐.’ 点划线,‘:’ 虚线。

    标记字符:‘.’ 点标记,‘,’ 像素标记(极小点),‘o’ 实心圈标记,‘v’ 倒三角标记,‘^’ 上三角标记,‘>’ 右三角标记,‘<’ 左三角标记…等等。

    2、实例:绘制sin、cos函数,并指定线型和颜色
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.arange(0,4*np.pi,0.1) # 0-4pi 每隔0.1取一个数
    # 直接调用numpy里面的三角函数
    y=np.sin(x)
    z=np.cos(x)
    plt.plot(x,y,'r-.',x,z,'b:')# 第一条线的参数、样式,第二条线的参数、样式
    plt.show()
    
    

    3、绘制散点图
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.array([1,2,3,4,5,6])
    y=np.array([1,2,3,4,5,6])
    plt.plot(x,y,'o')#实心点,绘制散点图
    plt.show()
    
    

    以上只是简单的使用了pyplot库。

    二、Matplotlib 绘图标记

    绘图过程如果我们想要给坐标自定义一些不一样的标记,就可以使用 plot() 方法的 marker 参数来定义。 fmt 参数 fmt 参数定义了基本格式,如标记、线条样式和颜色。

    fmt = '[marker][line][color]'
    
    

    marker 可以定义的符号如下: 标记大小与颜色 我们可以自定义标记的大小与颜色,使用的参数分别是:

  • markersize,简写为 ms:定义标记的大小。
  • markerfacecolor,简写为 mfc:定义标记内部的颜色。
  • markeredgecolor,简写为 mec:定义标记边框的颜色。
  • 线的宽度 线的宽度可以使用 linewidth 参数来定义,简写为 lw,值可以是浮点数,如:1、2.0、5.67 等。

    1、综合案例

    (1)拐点带样式的散点图

    y = np.array([1,5,3,54,6,3,67,4,23])
    plt.plot(y,marker='o') # x轴参数不指定,则按0-n对应y轴参数
    
    plt.show()   
    
    

    (2)多参数

    import matplotlib.pyplot as plt
    import numpy as np
    y=np.array([3,5,1,8,4])
    plt.plot(y,'o-.b',ms=15,mfc='r',mec='g')# 线条的样式、标记的大小、标记内部填充的颜色、标记的边框颜色
    plt.show()
    
    
    

    三、Matplotlib 轴标签和标题

    设置轴标签和标题时,如果使用中文,可能会出现乱码情况,可以使用以下两行代码解决

    plt.rcParams['font.sans-serif'] = [u'SimHei'] # SimHei就是中文字体
    # 因为设置了中文后,负号就乱码了,所以还要设置负号的编码
    plt.rcParams['axes.unicode_minus'] = False # 修改坐标轴中符号的编码
    
    
    1、轴标签

    可以使用 xlabel() 和 ylabel() 方法来设置 x 轴和 y 轴的标签。

    2、标题

    我们可以使用 title() 方法来设置标题。

    案例

    
    

    作者:Python_P叔

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python Matplotlib绘图技巧全面总结

    发表回复