[Python期末拯救者]在期末考试中matplotlib的使用

众所周知,matplotlib.pyplot是Python中最常用的绘图库之一,它提供了丰富的接口来绘制各种类型的图表。也是考点之一(我只能说海龟画图是有点搞笑的), 所以我们从一个最简单的图像(y=x^2)开始说这个库的使用

1.最简单的绘图

导包(一般情况下用上numpy辅助会使计算更加简便)

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-100,100,0.01) # 生成一个从-100到100步长0.01的数组
y = x**2 # 算出因变量取值

plt.plot(x,y) # 导入数据
plt.show() # 显示图线

这样就可以完成一个及其简洁的画图了

但是这是一个功能强大的绘图库,这点功能怎么够用呢

2.略微进阶的使用

设置大小(这里的单位不是像素!)

plt.figure(figsize=(6,6))

为图线添加标题

plt.title(‘My Title’)

添加中文标题并且消除因为编码导致的错误

plt.title('我的标题')
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

添加网格

plt.grid(True) # 添加网格

添加图例

plt.plot(x,y,label='$y=x^2') # 导入数据
plt.legend()

绘制简单的坐标轴

plt.plot((-100,100),(0,0)) # x轴
plt.plot((0,0),(0,10000)) # y轴

3.绘制更加复杂的图像

需要使用math库高级api的函数图像绘制

math库无法处理numpy数组的计算,因此类似sin之类的计算只能由numpy自行处理

y = np.sin(x)

这样才能获取到因变量的数组

针对极坐标、参数方程的处理

这时我们就需要使用额外的变量来处理

比如计算 x=2sint – sin2t ; y=2cost – cos2t 时,就可以用t来建立序列来采样

t = np.arange(-math.pi,math.pi,0.01)
x = 2*np.sin(t) - np.sin(2*t)
y = 2*np.cos(t) - np.cos(2*t)

4.简单地设置图线的样式

颜色字符:

r 红色 g 绿色 b 蓝色 c 青色 m 品红 y 黄色 k 黑色 w 白色

线型:

-直线 –虚线 :点线 -.点划线

描点标记符号:

.点 o圆圈 s方块 ^三角形 x叉 *五角星 +加号

以下是一些示例

plt.plot(x,y,'r--*')

plt.plot(x,y,'b-+')

plt.plot(x,y,'-g.')