matplotlib是著名的Python绘图库,它提供了一整套绘图API,十分适合交互式绘图。,解决数据分析和可视化问题,其实也是Python的拿手好戏。另外,在数据处理过程中会用到numpy。
例如,画出指定区间的一个多项式函数:
'''
想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(-4, 4, 1024)
Y = .25 * (X + 4.) * (X + 1.) * (X - 2.)
plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$')
plt.plot(X, Y, c = 'g')
plt.show()
通过numpy的linspace方法来确定横坐标x的取值范围,列出方程,然后调用matplotlib的pyplot画出函数曲线即可。numpy 是一个用python实现的科学计算包,包括一个强大的N维数组对象Array和成熟的函数库,有用于整合C/C++和Fortran代码的工具包,提供了实用的线性代数、傅里叶变换和随机数生成函数等工具,可以理解成Matlab。
记得中学的时候,我问老师三角函数到底有啥用?(无知者无畏)老师反问我,“如果给了你一块洋铁,怎样才能剪出煤炉烟囱的拐弯呢?”,现在仍然记得老师的这个例子,哪些看似抽象的数学公式,实际上是自己不知道她们的应用场景而已。
'''
想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0, 2 * np.pi, 100)
YSinValues = np.sin(X)
YCosValues = np.cos(X)
plt.plot(X, YSinValues)
plt.plot(X, YCosValues)
plt.show()
Matplotlib 是一个 Python 的 2D绘图库,甚至可以生成出版质量级别的图形。
对于那些正态分布而言,Python 画起来也就相当简单了:
import numpy as np
import matplotlib.pyplot as plt
def pdf(X, mu, sigma):
a = 1. / (sigma * np.sqrt(2. * np.pi))
b = -1. / (2. * sigma ** 2)
return a * np.exp(b * (X - mu) ** 2)
X = np.linspace(-6, 6, 1000)
for i in range(3):
samples = np.random.standard_normal(10)
mu, sigma = np.mean(samples), np.std(samples)
plt.plot(X, pdf(X, mu, sigma), color = '.66')
plt.plot(X, pdf(X, 0., 1.), color = 'b')
plt.show()
为了不显得单调,这里多画了几条曲线。只要算出方差和均值,从excel中读出哪些数值就可以拟合正态分布了。
import numpy as np
import matplotlib.pyplot as plt
a = 1
t = np.linspace(0 , 2 * np.pi, 1024)
X = a*(2*np.cos(t)-np.cos(2*t))
Y = a*(2*np.sin(t)-np.sin(2*t))
plt.plot(Y, X,color='r')
plt.show()
代表爱心的心形线来了: