工具介绍:matplotlib 是Python编程语言的一个绘图库及其数值数学扩展 NumPy。它为利用通用的图形用户界面工具包,
如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了面向对象的应用程序接口(API)。还有一个基于状态机(如开放
图形库OpenGL)的程序pylab接口,设计成与MATLAB非常类似--尽管使用起来有些不堪。SciPy就利用了matplotlib。
Ubuntu下安装:
在Debian/Ubuntu系统下安装Python, Numpy和Matplotlib的最佳方式是使用apt-get等软件包管理器. 避免源码包形式的安装, 因为包的依赖关系较难处理.
安装numpy只需要输入下面的命令:
sudo apt-get install python-numpy
sudo apt-get install python-scipy
在确保上面两个安装正确的情况下, 再安装matplotlib库,注意
安装matplotlib方式有很多,最好的方式就是和你使用的操作系统、你已经安装了的软件以及你想怎么使用它紧密结合。
sudo apt-get python-matplotlib
使用实例:
曲线图:
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> a = np.linspace(0,10,100)
>>> b = np.exp(-a)
>>> plt.plot(a,b)
>>> plt.show()
直方图:
>>> import matplotlib.pyplot as plt
>>> from numpy.random import normal,rand
>>> x = normal(size=200)
>>> plt.hist(x,bins=30)
>>> plt.show()
散点图:
>>> import matplotlib.pyplot as plt
>>> from numpy.random import rand
>>> a = rand(100)
>>> b = rand(100)
>>> plt.scatter(a,b)
>>> plt.show()
3D图
>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> ax = fig.gca(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
>>> plt.show()
各种实例参看:
https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot.subplots.html
https://matplotlib.org/examples/pylab_examples/subplots_demo.html
https://github.com/unpingco/Python-for-Signal-Processing