Python 实现绘制子图及子图刻度的变换等问题


Posted in Python onMay 31, 2021

1、涉及到图的对比会用到子图形式展示,先看看效果

Python 实现绘制子图及子图刻度的变换等问题

2、绘制代码如下

accuracy_alexnet_clef = [78.05, 78.43, 78.65, 78.61, 78.69]
accuracy_resnet_clef  = [84.56, 84.84, 85.07, 85.01, 85.13]
accuracy_alexnet_office10 = [87.30, 87.57, 87.78, 87.72, 87.50]
accuracy_resnet_office10  = [96.31, 96.35, 96.62, 96.43, 96.15]
orders = ['2', '3', '5', '10', '20']
names = ['alexnet', 'resnet']
# 创建两幅子图
f, ax = plt.subplots(2,1,figsize=(6, 8))
# 第一根柱子偏移坐标
x = [i for i in range(len(orders))]
# 第二根柱子偏移坐标
x1 = [i + 0.35 for i in range(len(orders))]
# 两幅子图之间的间距
plt.subplots_adjust(wspace =0, hspace =0.4)
# 选择第一幅图
figure_1 = ax[0]
# 设置x轴偏移和标签
figure_1.set_xticks([i+0.15 for i in x])
figure_1.set_xticklabels(orders)
# 设置y轴的范围
figure_1.set_ylim(bottom=77,top=86)
# 绘制柱状图,x表示x轴内容,accuracy_alexnet_clef表示y轴的内容,alpha表示透明度,width表示柱子宽度
# label表示图列
figure_1.bar(x, accuracy_alexnet_clef, alpha=0.7, width = 0.35, facecolor = '#4c72b0', label='Alexnet')
figure_1.bar(x1, accuracy_resnet_clef, alpha=0.7, width = 0.35, facecolor = '#dd8452', label='Resnet')
figure_1.set_ylabel('Accuracy%') # 设置y轴的标签
figure_1.set_xlabel('Order') # 设置x轴的名称
figure_1.set_title('Alexnet') # 设置图一标题名称
figure_1.legend() # 显示图一的图例
# 选择第二幅图
figure_2 = ax[1]
figure_1.set_xticks([i+0.15 for i in x])
figure_1.set_xticklabels(orders)
figure_2.set_ylim(bottom=77,top=100)
figure_2.bar(x, accuracy_alexnet_office10,alpha=0.7,width = 0.35,facecolor = '#c44e52', label='Alexnet')
figure_2.bar(x1, accuracy_resnet_office10,alpha=0.7,width = 0.35,facecolor = '#5f9e6e', label='Alexnet')
# figure_2.bar(orders, accuracy_resnet_clef,alpha=0.7,width = 0.35,facecolor = '#dd8452')
figure_2.set_ylabel('Accuracy%')
figure_2.set_xlabel('Order')
figure_2.set_title('Resnet')
figure_2.legend()
f.suptitle('ImageCLEF_DA') # 设置总标题
plt.show()

补充:解决python中subplot绘制子图时子图坐标轴标签以及标题重叠的问题

1.问题描述

在使用python的matplotlib中的subplot绘制子图时出现信息相互重叠的情况。

Python 实现绘制子图及子图刻度的变换等问题

2.解决方案

在plt.show()前面添加代码plt.tight_layout()即可解决。

plt.subplot(211)
plt.figure(1)
plt.hist(x, 10)
plt.title("Histogram of sample points")
plt.subplot(212)
plt.plot(x,X.pdf(x))
plt.title("Probability Density Function(PDF)")
plt.tight_layout()
plt.show()

Python 实现绘制子图及子图刻度的变换等问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算书页码的统计数字问题实例
Sep 26 Python
python实现unicode转中文及转换默认编码的方法
Apr 29 Python
速记Python布尔值
Nov 09 Python
PyQt5响应回车事件的方法
Jun 25 Python
如何用Python制作微信好友个性签名词云图
Jun 28 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
python 链接sqlserver 写接口实例
Mar 11 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
Mar 12 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
超级实用的8个Python列表技巧
Aug 24 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
python 利用PyAutoGUI快速构建自动化操作脚本
pandas中DataFrame数据合并连接(merge、join、concat)
Pandas加速代码之避免使用for循环
pandas提升计算效率的一些方法汇总
May 30 #Python
Python一行代码实现自动发邮件功能
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
You might like
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
js精确的加减乘除实例
2017/11/14 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
python 域名分析工具实现代码
2009/07/15 Python
centos系统升级python 2.7.3
2014/07/03 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
Python: glob匹配文件的操作
2020/12/11 Python
大学生新闻专业个人自我评价
2013/11/12 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
python使用BeautifulSoup 解析HTML
2022/04/24 Python