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中的MongoDB基本操作:连接、查询实例
Feb 13 Python
Python赋值语句后逗号的作用分析
Jun 08 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
python中实现控制小数点位数的方法
Jan 24 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
python替换字符串中的子串图文步骤
Jun 19 Python
python脚本后台执行方式
Dec 21 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
python使用numpy中的size()函数实例用法详解
Jan 29 Python
python绘制云雨图raincloud plot
Aug 05 Python
python 利用PyAutoGUI快速构建自动化操作脚本
pandas中DataFrame数据合并连接(merge、join、concat)
Pandas加速代码之避免使用for循环
pandas提升计算效率的一些方法汇总
May 30 #Python
Python一行代码实现自动发邮件功能
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
You might like
php 分库分表hash算法
2009/11/12 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
在html页面上拖放移动标签
2010/01/08 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
Django多数据库的实现过程详解
2019/08/01 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
水果花束:Fruit Bouquets
2017/12/20 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
办公用品管理制度
2015/08/04 职场文书
趣味运动会口号
2015/12/24 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技