这篇文章是建立在大家了解一些统计学中常用图形的使用场景的基础之上,如果有部分读者不了解,文末附上图形说明链接。
在互联网的江湖中,一直流传着,写代码的不如写PPT的,会写的不如会说的。这篇文章就带着大家使用技术的手段解决工作汇报的问题,让数据帮我们做汇报。
环境安装
matplotlib的环境安装非常简单,前提是建立在你已经安装好Python的运行环境之上。如果你使用的是pip包管理工具,那么就用pip install matplotlib就可以了,如果你用的是anaconda管理包,那它就是自带的,不用装也可以。
开发工具
我们可以有多个选择
1、Pycharm2、Jupyter Notebook......
习惯用什么样的工具都可以进行开发,Python自带的IDE也是可以的,我这里将采用Jupyter Notebook进行代码演示
创建一个图的核心步骤
1、导入模块:import matplotlib.pyplot as plt2、定义图像窗口:plt.figure()3、画图:plt.plot(x, y)4、定义坐标轴范围:x轴:plt.xlim()/y轴:plt.ylim() lim其实就是limit的缩写5、定义坐标轴名称:x轴:plt.xlabel()/plt.ylabel()6、定义坐标轴刻度及名称:plt.xticks()/plt.yticks()7、设置图像边框颜色:ax = plt.gca() ax.spines[].set_color()8、调整刻度位置:ax.xaxis.set_ticks_position()/ax.yaxis.set_ticks_position()9、调整边框(坐标轴)位置:ax.spines[].set_position()
练习
在正式开始练习之前,首先要导入模块,这里我们使用了numpy进行数据的生成,所以在此之前,必须安装了numpy库。如果你正在使用pip包管理工具,那么安装命令就是pip install numpy,如果你正在使用anaconda,那么不用安装就可以使用
import numpy as npimport matplotlib.pyplot as plt
然后创建两组数据,使用np.linspace定义x:范围是(-3,3),个数是50,将产生一组(-3,3)内均匀分布的50个数;(x,y1)表示曲线1,(x,y2)表示曲线2。
首先我们来创建两组数组,可以使用numpy中的linear space方法,代码书写方式是np.linspace
x = np.linspace(-5, 5, 100)y1 = 2*x + 1y2 = x**2
这段代码的意思是将会在-5到5的区间,生成100个数,注意这个是均匀分布的。y1和y2分别是两个函数,也就是数学中的2x+1和x的平方,下面我们用图形来展示这两条曲线
plt.plot(x, y2)plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')plt.show()
第一行代码就是用来画y1函数的,第二行代码是用来画y2函数的。这里的第二行代码,也就是画y2函数的时候参数应用的比较多,所以我们用这个里边所使用的参数来讲解参数的意义,在第一行代码中,y1的函数表示没有使用使用到的参数就可以是缺省值。
- 第一个参数x表示的就是x轴的点
- 第二个参数y1或者是y2表示的就是y轴的点
- 第三个参数color表示的是这条线使用的颜色
- 第四个参数linewidth宝石的是区线的宽度,这里的宽度是像素值
- 第五个参数linestyle的意思是曲线的样式,其中--表示的就是虚线
代码运行后的结果