这次我们来讲matplotlib里一个很有意思的功能,叫做图中图(plot in plot),最后的效果如下:

可以看到,整个Figure 1包含了三个图,其中两个小图title inside 1和title inside 2又出现在大图title中。这是如何做到的呢?

数据

首先是一些准备工作:

# 导入pyplot模块
import matplotlib.pyplot as plt# 初始化figure
fig = plt.figure()# 创建数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]

大图

接着,我们来绘制大图。首先确定大图左下角的位置以及宽高:

left, bottom, width, height = 0.1, 0.1, 0.8, 0.8

注意,4个值都是占整个figure坐标系的百分比。在这里,假设figure的大小是10x10,那么大图就被包含在由(1, 1)开始,宽8,高8的坐标系内。

将大图坐标系添加到figure中,颜色为r(red),取名为title:

ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, 'r')
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.set_title('title')

效果如下:

小图

接着,我们来绘制左上角的小图,步骤和绘制大图一样,注意坐标系位置和大小的改变:

left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(y, x, 'b')
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.set_title('title inside 1')


最后,我们来绘制右下角的小图。这里我们采用一种更简单方法,即直接往plt里添加新的坐标系:

plt.axes([0.6, 0.2, 0.25, 0.25])
plt.plot(y[::-1], x, 'g') # 注意对y进行了逆序处理
plt.xlabel('x')
plt.ylabel('y')
plt.title('title inside 2')

最后显示图像:

p17.matplotlib:图中图相关推荐

  1. Python利用matplotlib做图中图及次坐标轴

    图中图 准备数据 import matplotlib.pyplot as pltfig = plt.figure() x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 2 ...

  2. 14_面向对象API绘图、图中图 (A Plot inside of Another Plot)、设定绘图范围Setting the Plot Range、对数尺度Logarithmic Scale

    14.面向对象API绘图 14.1.图中图 (A Plot inside of Another Plot) 14.2.设定绘图范围 (Setting the Plot Range) 14.3.对数尺度 ...

  3. Python画图(直方图、多张子图、二维图形、三维图形以及图中图)

    Python画图很方便,不管是平时的学习还是教学当中,都将经常用到,特别直观,其中主要用到两个常用的库,一个二维和三维的:matplotlib.pyplot,mpl_toolkits.mplot3d ...

  4. chatgpt赋能python:Python中的图中图:什么是图中图?如何使用?

    Python中的图中图:什么是图中图?如何使用? 在Python中的数据可视化中,图中图是一种非常有用的工具,它可以帮助我们以一种清晰而有用的方式展示更多的信息.从字面上看,图中图意味着图形中包含另一 ...

  5. plt.figure、plt.subplot介绍以及绘制图中图(含代码)

    目录 1.1 plt.figure()函数语法介绍 1.2 figure实例 2.1 subplot函数及其语法说明 2.2 用subplot画多个子图 3.1 subplots函数介绍 4.1 使用 ...

  6. matlab画一个局部放大的图中图

    局部放大的图中图 第一种:magnify是个动态放大镜,固化后可以用tools>editplot移动小图,能选取多个局部图,这个方法不错 用法:打开figure图,输入magnify,左键动态选 ...

  7. python(matplotlib8)——图中图(在figure中画多个坐标图),次坐标(两个y轴)

    文章目录 前言 图中图 次坐标(两个y轴) 前言 来自 莫烦python的总结. 图中图 left,bottom,width,height = 百分比 fig = plt.figure() x = [ ...

  8. 在MATLAB的figure图中画局部放大的图中图

    在MATALB绘图中,有时会遇到这样的情况,需要通过放大figure图的局部,针对细节加以说明.例如:在给定的尺度下有两条或多条曲线难以区别,此时就需要对其进行局部放大来加以区分.参考网上的解决方法1 ...

  9. ARCGIS制作图中图——小图/一幅多图

    文章目录 1.中国完整政区的shape文件制作 2 制作图中图 2.1 选择目标区域 2.2 选择目标区域 2.3 创建研究区shapefile 2.3 创建研究区shapefile 3 最后的小调整 ...

  10. MATLAB中使用magnify做图中图

    网上一般有三种方法在MATLAB中做图中图,但是我感觉使用magnify是magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图.下面详细讲解其使用方 ...

最新文章

  1. 今日计划: 2022-02-15
  2. 清华大学计算机王君,对不起,我曾希望你成为“我”!(特级教师王君)
  3. 热烈庆贺清明小长假的到来
  4. div+css中clear用法
  5. Oracle数据库执行exp命令--报参数'log' 不允许有多个值
  6. ac9560不支持承载_Win10不支持承载网络的解决方法
  7. Fedora升级到4.3.4内核后virtualbox执行/sbin/rcvboxdrv setup报Bad argument setup
  8. 智能车大赛信标组_第十五届全国大学生智能汽车竞赛在南京信息工程大学圆满闭幕...
  9. apt-mirror 校验错误文件处理
  10. 阿里技术解密:全链路压测体系建设方案的思考与实践
  11. JEECG Online Coding 开发流程
  12. SpringBoot2.1.5(3)----开发第一个应用
  13. 关于iconfont的一些东西
  14. c语言教程文库,C语言经典教程
  15. 状态压缩DP-棋盘模型总结
  16. NVIDIA解码器代码官方示例
  17. 网络计算机amd,AMD多屏显示设置指南_计算机硬件和网络_IT /计算机_信息
  18. PS2无线遥控手柄的通讯协议以及c语言代码分析
  19. 1.2 SpringBoot构建Docker镜像并推送到Harbor
  20. v40能升级鸿蒙系统,荣耀v40可以升级鸿蒙系统吗 荣耀共有14款机型可升级

热门文章

  1. android手机碎片管理,android手机需要进行磁盘碎片整理么
  2. PDF文件有密码怎么办?
  3. .so文件(so文件是什么)
  4. pe卸载linux系统软件,Windows和Linux双系统下完美卸载linux
  5. 自动光学检测(AOI)
  6. List集合过滤不符合条件的数据
  7. Kuci的网站收藏,更新中
  8. Android 消息通知栏用法详解(一)
  9. ansible的安装
  10. html5 显示k线图,canvas绘图,html5 k线图,股票行情图