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 3.x 新特性及10大变化
Jun 12 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
Python中的super()方法使用简介
Aug 14 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
Python selenium文件上传方法汇总
Nov 19 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
Python中函数参数调用方式分析
Aug 09 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
Python变量作用域LEGB用法解析
Feb 04 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
Jun 01 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使用cookie保存用户登录的用户名实例
2015/01/26 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
javascript 验证日期的函数
2010/03/18 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
JavaScript手机振动API
2016/06/11 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
JS判断数组那点事
2017/10/10 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
一道输出判断型Java面试题
2014/10/01 面试题
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
普通简短的个人自我评价
2014/02/15 职场文书
销售督导岗位职责
2015/04/10 职场文书
刑事上诉状范文
2015/05/22 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android