python 多figure subplot (多子图)水平线 legend

以前画图只会plt.plot然后plt.show,但是在面对要多个图和画子图的时候,前后的数据错位总是很头疼,分享这种比较常用的画图方法。

import numpy as np
import matplotlib.pyplot as plt

x = np.array(range(10))
y = x+1

fig1 = plt.figure(1)        #画第一张图  figure里面的数字是标记数字,原则上任意
ax = fig1.add_subplot(111)
for i in range(3):
    ax.plot(x, y+i, label = 'time'+str(i))
ax.axhline(y = 3, color = 'r')     #画一条水平的线如果是垂直线用axvline(x = 3)
plt.legend()             #只要你在polt那里加了label,就可以用legend把每条线给标识出来


fig2 = plt.figure(2)     #画第二张图
ax1 = fig2.add_subplot(311)     #定义每个子图的范围,意思是画一个3行1列的子图
ax1.plot(x, y)

ax2 = fig2.add_subplot(312)
ax2.plot(x, y)

ax3 = fig2.add_subplot(313)
ax3.plot(x, y)

plt.show()             #最后plt.show就可以显示所有的figure
plt.close				#最后最好关闭一下figure对象,不然可能跟后面的产生冲突

以下分别是figure1和figure2的结果图
在这里插入图片描述
在这里插入图片描述
tip:本代码粘贴复制过去既可以直接运行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,可以使用matplotlib.pyplot库的subplot函数来实现多图合一的效果。首先,需要导入numpy和matplotlib.pyplot库: import numpy as np import matplotlib.pyplot as plt 然后,使用subplot函数来创建一个图像窗口,并指定子图的布局。例如,使用plt.subplot(2,2,1)表示将整个图像窗口分为2行2列,当前位置为1。接着,可以使用plt.plot函数在指定位置创建一个小图。具体的代码如下: plt.subplot(2,2,1) plt.plot(\[0,1\],\[0,1\]) plt.subplot(2,2,2) plt.plot(\[0,1\],\[0,2\]) plt.subplot(2,2,3) plt.plot(\[0,1\],\[0,3\]) plt.subplot(2,2,4) plt.plot(\[0,1\],\[0,4\]) 这样就可以在一个图像窗口中创建多个小图,并将它们合并在一起显示。每个小图的位置由subplot函数的参数决定,可以根据需要进行调整。 #### 引用[.reference_title] - *1* [Python数据可视化Part 6-Matplotlib Subplot(一张图里显示多张图教学)-代码详解](https://blog.csdn.net/weixin_59634927/article/details/122658562)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [p15.Matplotlib:Subplot多合一显示](https://blog.csdn.net/qq_45583898/article/details/125451684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值