0 建议学时
4学时
1 Matlplotlib库介绍
Matplotlib库由各种可视化类构成,内部结构复杂
受Matlab启发,matplotlib.pylot是绘制各类可视化图形的命令字库,相当于快捷方式
Matplotlib中文网:https://www.matplotlib.org.cn
安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
引入:
import matplotlib.pyplot as plt
2 Matlplotlib绘图基础
Matplotlib分为四层
- canvas(画板):位于最底层,导入Matplotlib库时就自动存在。
- figure(画布):建立在canvas之上,从这一层就能开始设置其参数。
- axes(子图):将figure分成不同块,实现分面绘图。
- 图表信息(构图元素):添加或修改axes上的图形信息,优化图表的显示效果。
2.1 “颜色"与"线型”
plt.plot(x,y,"ob:")
参数详见:https://matplotlib.org/stable/api/_as_gen/matplotlib.lines.Line2D.html
线型(linestyle 简写为 ls):
- 实线: ‘-’
- 虚线: ‘–’
- 虚点线: ‘-.’
- 点线: ‘:’
- 点: ‘.’
3 基本流程
3.1 一些例子
import matplotlib.pyplot as plt
x = [3,4,5]
y = [2,3,2]
plt.plot(x,y)
plt.show()
import matplotlib.pyplot as plt
x = [3,4,5]
y1 = [2,3,2]
y2 = [3,4,6]
plt.plot(x,y1,x,y2)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,11)
y = 2 * x + 5
plt.plot(x,y,"ob")
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,100)
y = np.random.uniform(0,5,100)
plt.plot(x,y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,11)
y = np.sin(x)
plt.plot(x,y)
plt.show()
不是想象的
sin
x
\sin x
sinx的曲线呢?问题出在哪里?
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1,11,0.1)
y = np.sin(x)
plt.plot(x,y)
plt.show()
3.2 子图
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)
# 建立 网格,高为 2,宽为 1 ,序号1
plt.subplot(2, 1, 1)
plt.plot(x, y_sin)
plt.title('Sine')
plt.subplot(2, 1, 2)
plt.plot(x, y_cos)
plt.title('Cosine')
plt.show()
3.3 多线
import numpy as np
import matplotlib.pyplot as plt
x=np.array([0,1,2],[3,4,5],[6,7,8])
y=np.array([2,3,2],[3,4,3],[4,5,4])
#"b"为蓝色, "o"为圆点, ":"为点线
plt.plot(x,y,"ob:")
plt.show()