Python Matplotlib库实现画局部图


Posted in Python onNovember 17, 2021

在画图中,我们需要放大图像的某一部分,看清其变化。最近在写论文时,就遇到了这个问题,还有坐标轴加粗、控制线型和大小等要求。这些,都可以通过Python Matplotlib库实现。具体看下面的代码:

import matplotlib.pyplot as plt

init_np = np.array(x0_list)
xopt_net_np = np.array(xopt_net)

plt.figure(figsize=(8,5))
plt.subplot(311)
ax = plt.gca() # 获取坐标轴
bwith = 1.2
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)
ax.spines['top'].set_linewidth(bwith)
ax.spines['right'].set_linewidth(bwith)
plt.yticks([])
plt.xlim([-21,21])
plt.plot(init_np, np.zeros_like(init_np), '.b', markersize=2, label='initial value Distri.')
plt.legend()

plt.subplot(312)
ax = plt.gca()
bwith = 1.2
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)
ax.spines['top'].set_linewidth(bwith)
ax.spines['right'].set_linewidth(bwith)
plt.yticks([])
plt.xlabel('x')
plt.plot(xopt_gd, np.zeros_like(xopt_gd), '.r', markersize=2, label='optimal value Distri. by GD')
plt.xlim([-21,21])
plt.legend()

plt.subplot(313)
ax = plt.gca()
bwith = 1.2
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)
ax.spines['top'].set_linewidth(bwith)
ax.spines['right'].set_linewidth(bwith)
plt.yticks([])
plt.plot(xopt_net_np, np.zeros_like(xopt_net_np), '.r', markersize=2, label='optimal value Distri. by Network')
plt.xlim([-21,21])
plt.legend()

plt.axes([0.125,0.275,0.25,0.07])   # list:[左下角水平坐标, 左下角垂直坐标, 宽度, 高度]
# plt.xticks(())
plt.yticks(())
plt.plot(xopt_net_np, np.zeros_like(xopt_net_np), '.r', markersize=1, label='optimal value Distr.')
plt.savefig('sol_scipy_ai.png', dpi=400, bbox_inches='tight')
plt.show()

得到了下面的效果:

Python Matplotlib库实现画局部图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中__call__用法实例
Aug 29 Python
django开发之settings.py中变量的全局引用详解
Mar 29 Python
python实现八大排序算法(2)
Sep 14 Python
python代码实现ID3决策树算法
Dec 20 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
Python设计模式之代理模式实例详解
Jan 19 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
将Pytorch模型从CPU转换成GPU的实现方法
Aug 19 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
python3 字符串知识点学习笔记
Feb 08 Python
Python %r和%s区别代码实例解析
Apr 03 Python
python实现局部图像放大
Pygame Draw绘图函数的具体使用
Pygame Rect区域位置的使用(图文)
Nov 17 #Python
分析Python list操作为什么会错误
Nov 17 #Python
深入理解Pytorch微调torchvision模型
Nov 11 #Python
Python 中 Shutil 模块详情
Nov 11 #Python
django 认证类配置实现
Nov 11 #Python
You might like
基于mysql的论坛(7)
2006/10/09 PHP
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
php如何连接sql server
2015/10/16 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
javascript &&和||运算法的另类使用技巧
2009/11/28 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
javascript动画浅析
2012/08/30 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
Python每天必学之bytes字节
2016/01/28 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
python脚本定时发送邮件
2020/12/22 Python
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
办理退休介绍信
2014/01/09 职场文书
思想工作总结范文
2015/08/12 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
Python中文纠错的简单实现
2021/07/07 Python
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android