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基于windows平台锁定键盘输入的方法
Mar 05 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
python中星号变量的几种特殊用法
Sep 07 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
Sanic框架安装与简单入门示例
Jul 16 Python
详解python多线程之间的同步(一)
Apr 03 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 Python
将不规则的Python多维数组拉平到一维的方法实现
Jan 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+xslt在windows平台上
2006/10/09 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
php的常量和变量实例详解
2017/06/27 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
用js做一个小游戏平台 (一)
2009/12/29 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
python绘制简单折线图代码示例
2017/12/19 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
实践Vim配置python开发环境
2018/07/02 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
银行实习鉴定
2013/12/13 职场文书
委托证明的格式
2014/01/10 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
仓库规划计划书
2014/04/28 职场文书
教师个人发展总结
2015/02/11 职场文书
就业推荐表院系意见
2015/06/05 职场文书
城南旧事观后感
2015/06/11 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技