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中的split()函数的使用方法
Apr 07 Python
Python的Django框架使用入门指引
Apr 15 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
详解python播放音频的三种方法
Sep 23 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
django-利用session机制实现唯一登录的例子
Mar 16 Python
Python计算信息熵实例
Jun 18 Python
python中get和post有什么区别
Jun 19 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
python Selenium 库的使用技巧
Oct 16 Python
python 利用PyAutoGUI快速构建自动化操作脚本
pandas中DataFrame数据合并连接(merge、join、concat)
Pandas加速代码之避免使用for循环
pandas提升计算效率的一些方法汇总
May 30 #Python
Python一行代码实现自动发邮件功能
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
You might like
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
php算法实例分享
2015/07/14 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
jQuery版Tab标签切换
2011/03/16 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
Python表示矩阵的方法分析
2017/05/26 Python
python九九乘法表的实例
2017/09/26 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python线性方程组求解运算示例
2018/01/17 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
2020/08/05 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
个人公开承诺书
2014/03/28 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
个人收入证明范本
2015/06/12 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技
Java 数组的使用
2022/05/11 Java/Android
python实现双向链表原理
2022/05/25 Python
Python Matplotlib绘制动画的代码详解
2022/05/30 Python