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的Django框架可适配的各种数据库介绍
Jul 15 Python
Python基于numpy灵活定义神经网络结构的方法
Aug 19 Python
Python 类的特殊成员解析
Jun 20 Python
Python queue队列原理与应用案例分析
Sep 27 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Python 使用type来定义类的实现
Nov 19 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
Python3.7 读取音频根据文件名生成脚本的代码
Apr 07 Python
快速了解Python开发环境Spyder
Jun 29 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
python 代码运行时间获取方式详解
Sep 18 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 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
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
PHP引用的调用方法分析
2016/04/25 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
模拟select的代码
2011/10/19 Javascript
浅析return false的正确使用
2013/11/04 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
详解创建自定义的Angular Schematics
2018/06/06 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
什么是python的自省
2020/06/21 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
python使用smtplib模块发送邮件
2020/12/17 Python
上课说话检讨书大全
2014/01/22 职场文书
五型班组建设方案
2014/02/10 职场文书
优秀食品类广告词
2014/03/19 职场文书
医药营销个人求职信
2014/04/12 职场文书
保密协议书范本
2014/04/22 职场文书
四查四看整改措施
2014/09/19 职场文书
大学生自荐信范文
2015/03/05 职场文书
2015年药房工作总结
2015/04/25 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android