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获取当前日期和时间的方法
Apr 30 Python
Python计算三角函数之asin()方法的使用
May 15 Python
django上传图片并生成缩略图方法示例
Dec 11 Python
Python smtplib实现发送邮件功能
May 22 Python
查找python项目依赖并生成requirements.txt的方法
Jul 10 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
python文件选择对话框的操作方法
Jun 27 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
python 模块重载的五种方法
Apr 24 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 Python
浅谈Python中对象是如何被调用的
Apr 06 Python
python 利用PyAutoGUI快速构建自动化操作脚本
pandas中DataFrame数据合并连接(merge、join、concat)
Pandas加速代码之避免使用for循环
pandas提升计算效率的一些方法汇总
May 30 #Python
Python一行代码实现自动发邮件功能
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
You might like
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
9个比较实用的php代码片段
2016/03/15 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
分享几个超级震憾的图片特效
2012/01/08 Javascript
js获取IFRAME当前的URL的方法
2013/11/13 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
python清除指定目录内所有文件中script的方法
2015/06/30 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
Python 高效编程技巧分享
2020/09/10 Python
python搜索算法原理及实例讲解
2020/11/18 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
元旦趣味活动方案
2014/08/22 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
匿名信格式范文
2015/05/27 职场文书
2016教师节问候语
2015/11/10 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书