Matplotlib详细教程[二]之文本标注、子图设置、图中图设置

本文是关于Matplotlib的教程,介绍了如何在指定坐标上使用text和annotation绘制文本,展示了多行单列及多行多列子图的绘制方法,并讲解了如何显示格子和设置图像风格。文章旨在提供清晰易懂的Matplotlib学习资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

文本信息标注

在指定坐标上绘制文本(使用text)

在指定坐标上绘制文本(使用annotation)

Matplotlib子图的绘制

绘制一个多行单列的图像

绘制一个多行多列的图像

 显示格子(方便确定坐标)

设置Matplotlib预设风格(图像背景,线条颜色等)

Matplotlib 图中图

尾言


前言

本文概述:优快云上很多Matplotlib的教程写得都不咋滴,很多都是直接贴一堆代码上去,注释写得不清楚也不完整,让很多想学习Matplotlib的读者体验感非常差,因此作者打算写一系列Matplotlib教程,帮助萌新入门,老手也可以查漏补缺。

作者介绍:作者本人是一名人工智能炼丹师,目前在实验室主要研究的方向为生成式模型,对其它方向也略有了解,希望能够在优快云这个平台上与同样爱好人工智能的小伙伴交流分享,一起进步。谢谢大家鸭~~~

 如果你觉得这篇文章对您有帮助,麻烦点赞、收藏或者评论一下,这是对作者工作的肯定和鼓励。  

文本信息标注

在指定坐标上绘制文本(使用text)

import matplotlib.pyplot as plt
plt.subplot(222)
plt.plot([1,2,3,4],[1,2,3,4],color='r',marker='o')
plt.grid(True)
plt.text(2,2,"this is (2,2)",fontdict={'size':12,'color':'b'})
plt.subplot(223)
plt.plot([1,2,3,4],[2,2,2,2],color='b')
plt.text(2,1,"this is (2,1)",fontdict={'size':12,'color':'r'})
plt.show()

在指定坐标上绘制文本(使用annotation)

import matplotlib.pyplot as plt
plt.subplot(222)
plt.plot([1,2,3,4],[1,2,3,4],color='r',marker='o')
plt.grid(True)
plt.annotate('this is (3,3)',xy=(3,3),xytext=(+1,-30),textcoords='offset points',fontsize=8,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.subplot(223)
plt.plot([1,2,3,4],[2,2,2,2],color='b')
plt.annotate('this is (2,2)',xy=(2,2),xytext=(+60,+30),textcoords='offset points',fontsize=8,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.show()

Matplotlib子图的绘制

绘制一个多行单列的图像

这里以绘制一个3行1列的图像为例子

import matplotlib.pyplot as plt
plt.subplot(311)
plt.plot([1,2,3,4],[1,2,3,4],color='r')
plt.subplot(312)
plt.plot([1,2,3,4],[2,2,2,2],color='b')
plt.subplot(313)
plt.plot([1,2,3,4],[1,4,9,16],color='c')
plt.show()

311的解释第一个3代表这个图有三行子图,第二个1表示每行只有一列子图,第三个1表示绘制的图像是第几个展示的图像

绘制一个多行多列的图像

这里以绘制一个2行2列的图像为例子

import matplotlib.pyplot as plt
plt.subplot(222)
plt.plot([1,2,3,4],[1,2,3,4],color='r')
plt.subplot(223)
plt.plot([1,2,3,4],[2,2,2,2],color='b')
plt.show()

222解释,第一个2表示有两行,第二个2表示每行有两列,第三个2表示是第二个图像

 显示格子(方便确定坐标)

import matplotlib.pyplot as plt
plt.subplot(222)
plt.plot([1,2,3,4],[1,2,3,4],color='r')
plt.subplot(223)
plt.plot([1,2,3,4],[2,2,2,2],color='b')
plt.grid(True)
plt.show()

想要给那个子图添加格子,就要对应的子图下面调用grid(),单张图片的也同理

设置Matplotlib预设风格(图像背景,线条颜色等)

第一种(dark_background)

import matplotlib.pyplot as plt
plt.style.use('dark_background')
plt.subplot(222)
plt.plot([1,2,3,4],[1,2,3,4],color='r',marker='o')
plt.grid(True)
plt.text(2,2,"this is (2,2)")
plt.subplot(223)
plt.plot([1,2,3,4],[2,2,2,2],color='b')
plt.show()

 风格的设置,要放在最上面。

其它风格的设置请参考我下面这篇文章

传送门:Matplotlib二十五种风格设置,及其对应效果展示

Matplotlib 图中图

import matplotlib.pyplot as plt
x=[1,2,3,4]
y=[2,3,4,5]
fig=plt.figure()
ax1=fig.add_axes([0.1,0.1,0.8,0.8])# left,bottom,width,height
ax1.plot(x,y,'r')
ax2=fig.add_axes([0.2,0.6,0.25,0.25])# left,bottom,width,height
ax2.plot(x,y,'b')
plt.show()

尾言

 如果您觉得这篇文章对您有帮忙,请点赞、收藏。您的点赞是对作者工作的肯定和鼓励,这对作者来说真的非常重要。如果您对文章内容有任何疑惑和建议,欢迎在评论区里面进行评论,我将第一时间进行回复。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客柒羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值