跳至主要內容

Matplotlib 常用功能

blacklad大约 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()
image-20241114205903568
image-20241114205903568

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()
image-20241114210056007
image-20241114210056007

2.3 组合参数

将字符样式和颜色用字符串传入

# 点的坐标画折线
plt.plot([1,2,3],[1,4,9], 'r-.')

# 设置横坐标轴名称
plt.xlabel("x")
# 设置纵坐标轴名称
plt.ylabel("y")

plt.show()
image-20241114210815986
image-20241114210815986

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()
image-20241114211948291
image-20241114211948291

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()
image-20241114212915669
image-20241114212915669

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()
image-20241117222622885
image-20241117222622885

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()
image-20241114212720288
image-20241114212720288

如果位置都是同样的可能会出现重叠。

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()
image-20241117220939111
image-20241117220939111
上次编辑于:
贡献者: blacklad