Matplotlib 常用功能
大约 2 分钟PythonPythonMatplotlib
Matplotlib 常用功能
1 中文设置
为了后面可以正常的展示图表中的文字负号等,需要先设置一下字体。
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
2 折线图
2.1 线条的样式
plot函数可以通过 linestyle
参数指定线条的样式。
字符 | 类型 |
---|---|
- | 实线 |
-- | 虚线 |
-. | 点 |
: | 点虚线 |
# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], linestyle='--')
# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")
plt.show()

2.2 线条的颜色
使用 color
参数可以设置线条的颜色。 表示颜色的字符参数有:
字符 | 颜色 |
---|---|
b | 蓝色,blue |
g | 绿色,green |
r | 红色,red |
y | 黄色,yellow |
k | 黑色,black |
w | 白色,white |
# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], linestyle='--', color='r')
# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")
plt.show()

2.3 组合参数
将字符样式和颜色用字符串传入
# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], 'r-.')
# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")
plt.show()

2.4 标记点
# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], linestyle='--', color='r', marker ='o',markerfacecolor='b',markersize = 10)
# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")
plt.show()

2.5 其他
还可以设置标题/网格/等参数
# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], 'r-.')
plt.plot([1,2,3],[1,8,27], 'ro')
# 设置标题
plt.title("标题XXX")
# 设置网格
plt.grid(True)
# 在指定位置设置文本
plt.text(2,2,'tips')
# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")
plt.show()

3 信息标注
# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], linestyle='--', color='r')
# 设置网格
plt.grid()
# 设置标题
plt.title("标题XXX")
# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")
plt.text(2,5,'(2, 5)')
plt.grid(True)
# 使用箭头标记一个重要的点
plt.annotate('重要的点',xy=(2,4),xytext=(1.5,5),arrowprops = dict(facecolor='red',shrink=1,headlength= 10,headwidth = 10))
plt.show()

3 子图
使用 subplot
函数可以一次显示多个图表。
subplot(m,n,p)
有三个参数,分别是 m 多少行,n表示多少列,p表示第几个展示(从左到右,从上到下数)。
plt.subplot(3,3,1)
plt.plot([1,2,3],[1,4,9], 'r-.')
plt.subplot(3,2,3)
plt.plot([1,2,3],[1,8,27], 'bo')
plt.show()

如果位置都是同样的可能会出现重叠。
4 直方图
使用 hist
函数可以画出统计图。
# 生成随机数据
data = np.random.randn(1000)
# 创建直方图
plt.hist(data, bins=30, edgecolor='black', alpha=0.5)
plt.grid(True, linestyle='--')
# 添加标题和标签
plt.title('数据分布直方图')
plt.xlabel('数值')
plt.ylabel('频数')
# 显示图表
plt.show()
