此为Matplotlib学习笔记
pip install matplotlib
import matplotlib.pyplot as plt
plt.figure(1, figsize=(10, 5))
plt.axis([0, 10, 2, 12])
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
- **通过Numpy数组**
```py
data_x = np.array([1, 2, 3, 4, 5])
data_y = np.array([3, 5, 4, 7, 10])
plt.plot(data_x * 2, data_y, 'r--', data_x * 3, data_y, 'bs')
data = {
"a": np.arange(20),
"b": np.random.randint(0, 20, 20)
}
plt.scatter("a", "b", data=data)
plt.figure(1, figsize=(10, 5))
plt.subplot(131) plt.bar(group_name, values)
## 添加文本
- **添加y/x轴标签**
```py
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("线性图", fontproperties="SimHei")
plt.suptitle("分组绘制", fontproperties="SimHei")
plt.text(2, 15, r"数据走势", color="green", fontproperties="SimHei") # 在(2,15)位置添加文本
plt.annotate("中间值", xy=(12.5, 12.5), xytext=(15, 10), fontproperties="SimHei",
arrowprops=dict(facecolor='black', shrink=0.05))
# xy表示箭头作标位置,xytext表示线段的起始位置,arrowprops线段的样式(颜色、粗细)
plt.plot(data_x, data_y, 'ro') # 点
plt.plot(data_x * 2, data_y, 'r--', data_x * 3, data_y, 'bs') # 虚线、方块
plt.setp(lines) 获取所有可设置的属性列表
lines = plt.plot([1, 2, 3, 4], [1, 4, 9, 16], [1, 2, 3, 4] * 2, [1, 4, 9, 16] * 2) plt.axis([0, 6, 0, 20]) lines[0].set_antialiased(False) # 调用实例的方法设置第一条线样式 plt.setp(lines, "color", "r", "linewidth", 2.0) # 同时设置两条线的样式红色,宽度为2.0英寸
plt.figure(2) # 创建第2张画布 plt.plot([4, 5, 6]) plt.show()
plt.figure(1) # 放在第1张画布内 plt.subplot(212) plt.title(“第1张画布的第2个子图”, fontproperties=”SimHei”)
- **面向对象接口**
```py
print(plt.style.available) 获取样式表
- 样式表
- plt.style.use中的样式在程序执行的过程中生效。
plt.style.use("fivethirtyeight") data = np.random.randn(50) plt.plot(data) plt.show()
- 使用多种样式
plt.style.use(['fivethirtyeight', 'dark_background'])
- 临时引入样式
- 一个程序绘制多个图,每个图用不同样式时引入临时样式
with plt.style.context(("dark_background")): data = np.linspace(0, 3 * np.pi) plt.plot(np.sin(data), "r-o") plt.show()
- rc参数动态修改图形样式 SymPy是Python的科学计算库,可以完成多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。 SymPy详细学习 ```py from sympy.physics.quantum.tests.test_circuitplot import mpl
mpl.rcParams[‘lines.linewidth’] = 2 mpl.rcParams[‘lines.color’] = ‘r’ plt.plot(np.sin(np.arange(0, 10)), ‘b-.’) ```
|函数|图形|用途| | :-: | :-: | :-: | | plot | 线条图 | 分析数据走势 | | scatter | 散点图| 分析数据分布 | | hist | 直方图| 分析对比数据 | | bar | 条形图| 分组分析对比数据| | barh|水平方向条形图 | | | pie | 饼图| | | boxplot | 箱线图| | | subplot | 极坐标图| |