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字符串处理函数简明总结
Apr 13 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 Python
基于Python实现用户管理系统
Feb 26 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
基于Python中random.sample()的替代方案
May 23 Python
Python生成器next方法和send方法区别详解
May 30 Python
python代码如何注释
Jun 01 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 Python
cookies应对python反爬虫知识点详解
Nov 25 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 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按字符无乱码截取中文的方法
2015/03/27 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
在Django中创建第一个静态视图
2015/07/15 Python
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
Python selenium自动化测试模型图解
2020/04/15 Python
在keras中实现查看其训练loss值
2020/06/16 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
什么是规则表达式
2012/05/03 面试题
教师师德反思材料
2014/02/15 职场文书
协议书范文
2015/01/27 职场文书
内勤岗位职责范本
2015/04/13 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
浅谈MySQL中的六种日志
2022/03/23 MySQL