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中的wxPython实现最基本的浏览器功能
Apr 14 Python
Python中的with语句与上下文管理器学习总结
Jun 28 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
python使用knn实现特征向量分类
Dec 26 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
Python decorator拦截器代码实例解析
Apr 04 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
Python3爬虫关于代理池的维护详解
Jul 30 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 Python
PYTHON InceptionV3模型的复现详解
May 06 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之第三天
2006/10/09 PHP
在数据量大(超过10万)的情况下
2007/01/15 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
PHP6新特性分析
2016/03/03 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
javascript 新浪背投广告实现代码
2009/07/07 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
详解python eval函数的妙用
2017/11/16 Python
python使用turtle库绘制时钟
2020/03/25 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
校运会入场式解说词
2014/02/10 职场文书
环保倡议书范文
2014/05/12 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL