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 相关文章推荐
在Django的通用视图中处理Context的方法
Jul 21 Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 Python
Python动态生成多维数组的方法示例
Aug 09 Python
Python多进程原理与用法分析
Aug 21 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
python实现超市管理系统(后台管理)
Oct 25 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
Python 高效编程技巧分享
Sep 10 Python
Python collections.deque双边队列原理详解
Oct 05 Python
通过案例解析python鸭子类型相关原理
Oct 10 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
详解Python中for循环的使用
2015/04/14 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
浅谈python写入大量文件的问题
2018/11/09 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
自查自纠整改报告
2014/11/06 职场文书
认真学习保证书
2015/02/26 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技