前言
最近正在学习大学和高中的数学知识,统计和函数部分,觉的通过绘制出图表,结合图形去学习,会更直观并且能够更好的去理解。
这里我们会用到python的 Matplotlib库去绘制图形,并且会结合numpy库一起使用。
Matplotlib:
Math(数学)+plot(图表图形)+lib(库)合在一起叫做数学图表库, Matplotlib是 Python 编程语言的一个绘图工具包。
NumPy:
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
下面先看看绘制出来的图形都是长什么样的,这里只截了一些统计图和数学函数图形的静态图,更多图形绘制可以上官方网站查看(3d还有动态都可以实现)。
图表图形基本组成
知道了可视化图形的好处,也了解了mathplotlib和numpy是什么,接下来就学习看如何利用这两个工具就实现我们要绘制的图形。
首先我们得知道一个图表图形都有哪些组成部分,下面是官方给出的一个图形,标注了一些图形的常见部分:
- Figure:整个图形对象
- Axes:子图,一个Axes是一个绘图区域,一个Figure可以包括多个子图,默认是一个,且每次绘图其实都是在figure上的Axes上绘图。
- Axix :坐标轴 X axis label Y axis lebel 分别显示坐标轴的标题
- Title:图表标题
- Legend :图例,一个图表可以有多个图例,比如显示两个折线图等
- Tick:刻度
- Spines:轴脊柱——记录数据区域边界的线.
- Grid:设置是否显示网格
动手绘制y=5x直线图
光看文字很难理解,下面我们就动手去绘制 y=5x 的直线图形,做中学去理解。
代码:
import matplotlib.pyplot as plt
# 生成x轴数据 [-10, -8, -6, -4, -2, 0, 2, 4, 6, 8]
x = [i for i in range(-10, 10, 2)]
# 生成y轴数据 [-50, -40, -30, -20, -10, 0, 10, 20, 30, 40]
y = [5*i for i in range(-10, 10, 2)]
# 传入数据到plot 折线图类型图表
plt.plot(x,y)
# 显示图表
plt.show()
效果图:
解释:
其实可视化就是利用程序去绘制图形,只要我们把数据准备好,绘制图形比用我们手绘制图形简单多了。手绘制图形是不是得将所有点(x,y)数据准备好,然后一一连接到一起就可以了。编程只要你要数据准备好,按照绘图方法规定,将对应数据放到对应位置也就解决了,是不是很简单呢。
美化图表
上面快速绘制了一个图形,图形不是很美观和完整,下面再去修饰一下。
代码:
import matplotlib.pyplot as plt
# 生成x轴数据 [-10, -8, -6, -4, -2, 0, 2, 4, 6, 8]
x = [i for i in range(-10, 10, 2)]
# 生成y轴数据 [-50, -40, -30, -20, -10, 0, 10, 20, 30, 40]
y = [5*i for i in range(-10, 10, 2)]
# 传入数据到plot 折线图类型图表
plt.plot(x,y,label="y=5x",color="red",linestyle="--",linewidth="1",marker="*")
plt.legend()
# 显示中文
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.title('直线方程') # 图表标题
plt.ylabel('Y-轴') # x轴名称
plt.xlabel('X-轴') # y轴名称
# 显示网格
plt.grid()
# 显示图表
plt.show()
效果:
解释:
这里通过配置了一些参数 ,给图表修饰了一下,最主要是plt.plot(x,y,label="y=5x",color="red",linestyle="--",linewidth="1",marker="*")代码中的参数;
- label就是图例标签名称,配合着plt,legend一起使用;
- color设置颜色;
- linestyle线的类型;
- linewidth线的粗细设置;
- marker点的标记形状;还有更多参数在之后具体的图形绘制中会讲到。
参考:
(全文完)
预告:下节课将学习如何一次显示多个图形。
长按二维码,加关注!叶子陪你玩
欢迎转载,转载请注明出处!
欢迎关注公众微信号:叶子陪你玩
分享自己的python编程学习之路