最近正在学习大学和高中的数学知识,统计和函数部分,觉的通过绘制出图表,结合图形去学习,会更直观并且能够更好的去理解。
这里我们会用到python的 Matplotlib库去绘制图形,并且会结合numpy库一起使用。
Matplotlib:
Math(数学)+plot(图表图形)+lib(库)合在一起叫做数学图表库, Matplotlib是 Python 编程语言的一个绘图工具包。
NumPy:
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
下面先看看绘制出来的图形都是长什么样的,这里只截了一些统计图和数学函数图形的静态图,更多图形绘制可以上官方网站查看(3d还有动态都可以实现)。
知道了可视化图形的好处,也了解了mathplotlib和numpy是什么,接下来就学习看如何利用这两个工具就实现我们要绘制的图形。
首先我们得知道一个图表图形都有哪些组成部分,下面是官方给出的一个图形,标注了一些图形的常见部分:
光看文字很难理解,下面我们就动手去绘制 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="*")代码中的参数;
https://matplotlib.org/