pyplot是Matplotlib最常用的模块,可以很方便地构建2D图表,而点线图便是其最基本的用例。
import numpy as np import matplotlib as mpl import matplotlib.pyplot as pt # 通过rcParams设置全局横纵轴字体大小 mpl.rcParams['xtick.labelsize'] = 15 mpl.rcParams['ytick.labelsize'] = 15 #当我们设置相同的seed,每次生成的随机数相同 #如果不设置seed,则每次会生成不同的随机数 np.random.seed(10) # x轴的采样点,从0~5之间等间隔取100个数 x = np.linspace(0, 5, 100) # 通过下面曲线加上噪声生成数据,需要提供数据和拟合模型 y = 2*np.sin(x) + 0.3*x**2 y_data = y + np.random.normal(scale=0.3, size=100) # figure()指定图表名称 # '.'标明画散点图,每个散点的形状是个圆 pt.figure('data') pt.plot(x, y_data, '.') pt.title('data') # 绘制模型图,plot函数默认画连线图 pt.figure('model') pt.plot(x, y) pt.title('model') # 将两个图画综合在一起 #r表示线条的颜色,lw为其宽度 pt.figure('data & model') pt.plot(x, y, 'r', lw=4) pt.title('data&model') # scatter可以更容易地生成散点图,可以设置各种属性 #c为颜色属性,marker为形状属性,还有很多,大家可以自查 pt.scatter(x, y_data,c='m',marker='^') #显示图例 pt.legend(['m','d']) # 将当前figure的图保存到文件result.png pt.savefig('result.png') # 将图形显示在屏幕上 pt.show()
其中linspace()的原型为:
numpy.linspace(start, stop, num, endpoint=True, retstep=False, dtype=None)[source]
random.normal()为正态分布,关于其应用下期再见~~~
各变量取值信息如下: