p17.matplotlib:图中图
这次我们来讲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:图中图相关推荐
- Python利用matplotlib做图中图及次坐标轴
图中图 准备数据 import matplotlib.pyplot as pltfig = plt.figure() x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 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.对数尺度 ...
- Python画图(直方图、多张子图、二维图形、三维图形以及图中图)
Python画图很方便,不管是平时的学习还是教学当中,都将经常用到,特别直观,其中主要用到两个常用的库,一个二维和三维的:matplotlib.pyplot,mpl_toolkits.mplot3d ...
- chatgpt赋能python:Python中的图中图:什么是图中图?如何使用?
Python中的图中图:什么是图中图?如何使用? 在Python中的数据可视化中,图中图是一种非常有用的工具,它可以帮助我们以一种清晰而有用的方式展示更多的信息.从字面上看,图中图意味着图形中包含另一 ...
- plt.figure、plt.subplot介绍以及绘制图中图(含代码)
目录 1.1 plt.figure()函数语法介绍 1.2 figure实例 2.1 subplot函数及其语法说明 2.2 用subplot画多个子图 3.1 subplots函数介绍 4.1 使用 ...
- matlab画一个局部放大的图中图
局部放大的图中图 第一种:magnify是个动态放大镜,固化后可以用tools>editplot移动小图,能选取多个局部图,这个方法不错 用法:打开figure图,输入magnify,左键动态选 ...
- python(matplotlib8)——图中图(在figure中画多个坐标图),次坐标(两个y轴)
文章目录 前言 图中图 次坐标(两个y轴) 前言 来自 莫烦python的总结. 图中图 left,bottom,width,height = 百分比 fig = plt.figure() x = [ ...
- 在MATLAB的figure图中画局部放大的图中图
在MATALB绘图中,有时会遇到这样的情况,需要通过放大figure图的局部,针对细节加以说明.例如:在给定的尺度下有两条或多条曲线难以区别,此时就需要对其进行局部放大来加以区分.参考网上的解决方法1 ...
- ARCGIS制作图中图——小图/一幅多图
文章目录 1.中国完整政区的shape文件制作 2 制作图中图 2.1 选择目标区域 2.2 选择目标区域 2.3 创建研究区shapefile 2.3 创建研究区shapefile 3 最后的小调整 ...
- MATLAB中使用magnify做图中图
网上一般有三种方法在MATLAB中做图中图,但是我感觉使用magnify是magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图.下面详细讲解其使用方 ...
最新文章
- 今日计划: 2022-02-15
- 清华大学计算机王君,对不起,我曾希望你成为“我”!(特级教师王君)
- 热烈庆贺清明小长假的到来
- div+css中clear用法
- Oracle数据库执行exp命令--报参数'log' 不允许有多个值
- ac9560不支持承载_Win10不支持承载网络的解决方法
- Fedora升级到4.3.4内核后virtualbox执行/sbin/rcvboxdrv setup报Bad argument setup
- 智能车大赛信标组_第十五届全国大学生智能汽车竞赛在南京信息工程大学圆满闭幕...
- apt-mirror 校验错误文件处理
- 阿里技术解密:全链路压测体系建设方案的思考与实践
- JEECG Online Coding 开发流程
- SpringBoot2.1.5(3)----开发第一个应用
- 关于iconfont的一些东西
- c语言教程文库,C语言经典教程
- 状态压缩DP-棋盘模型总结
- NVIDIA解码器代码官方示例
- 网络计算机amd,AMD多屏显示设置指南_计算机硬件和网络_IT /计算机_信息
- PS2无线遥控手柄的通讯协议以及c语言代码分析
- 1.2 SpringBoot构建Docker镜像并推送到Harbor
- v40能升级鸿蒙系统,荣耀v40可以升级鸿蒙系统吗 荣耀共有14款机型可升级