python matplotlib画盒图、子图解决坐标轴标签重叠的三种解决办法
在使用matplotlib画图的时候将常会出现坐标轴的标签太长而出现重叠的现象,本文主要通过自身测过好用的解决办法进行展示,希望也能帮到大家,原图出现重叠现象例如图1:
代码为:
data1=[[0.3765,0.3765,0.3765,0.3765,0.3765],[0.3765,0.3765,0.3765,0.3765,0.3765],[0.3765,0.3765,0.3765,0.3765,0.3765],[0.3765,0.3765,0.3765,0.3765,0.3765]]
data2=[[0.2985,0.2268,0.2985,0.2996,0.2985],[0.2022,0.3203,0.3141,0.2926,0.2681],[0.2985,0.2668,0.2786,0.2985,0.2985],[0.2985,0.2985,0.2984,0.2978,0.2966]]
data3=[[0.7789,0.7698,0.6999,0.7789,0.7789],[0.7788,0.7758,0.7768,0.7698,0.8023],[0.7789,0.7781,0.7789,0.7789,0.7789],[0.7789,0.7782,0.7752,0.7852,0.7654]]
data4=[[0.6688,0.6688,0.6688,0.6981,0.6618],[0.6688,0.5644,0.5769,0.5858,0.5882],[0.6688,0.6688,0.6688,0.6688,0.6646],[0.6688,0.6646,0.6646,0.6688,0.6746]] #date1-date4均为我用到的数据,数据的形式等可自行更换。
##将4个图画在一张图上
fig=plt.figure(figsize=(13,11))
ax1=fig.add_subplot(2, 2, 1)##左右布局
ax2=fig.add_subplot(2, 2, 2)
ax3=fig.add_subplot(2, 2, 3)##上下布局
ax4=fig.add_subplot(2, 2, 4)
plt.sca(ax1)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']#标签
plt.boxplot(data1,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'}) #linewidth设置线条的粗细;boxprops、capprops、whiskerprops、medianprops表示盒图中各个线条的类型
plt.ylabel('Today',fontsize=16)
plt.xlabel('(a)',fontsize=16)
plt.sca(ax2)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']
plt.boxplot(data2,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'})
plt.xlabel('(b)',fontsize=16)
plt.sca(ax3)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']
plt.boxplot(data3,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'})
plt.ylabel('Today',fontsize=16)
plt.xlabel('(c)',fontsize=16)
plt.sca(ax4)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']
plt.boxplot(data4,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'})
plt.xlabel('(d)',fontsize=16)
plt.show()
1、解决办法一: 将轴标签分两行显示,如图2:
只需在原代码中每个子图画图中加上代码:
ax1.set_xticklabels(['Today is Sunday','\n'+'Today is Monday','Today is Tuesday','\n'+'Today is Wednesday'],fontsize=16)
'\n'+则表示换行显示的意思,想要哪个标签换行显示,则在标签前面加上此符号,也可以换多行,一个\n表示一行,例如'\n\n'+则表示换两行显示。fontsize是设置显示标签的字体大小。
2、解决办法2:轴标签倾斜显示
同样只需在原代码的基础上加上一句代码:
ax1.set_xticklabels(['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday'],fontsize=16,rotation=10)
rotation表示倾斜的角度,10即为倾斜10度,可任意设置,也可结合上面换行显示一同使用。
3、解决办法3:利用matplotlib里面的自动调整语句
只需在原代码的画图部分的最后加上matplotlib自动调整的语句,图则会自动调整标签大小:
plt.tight_layout()
python matplotlib画盒图、子图解决坐标轴标签重叠的三种解决办法相关推荐
- python设置折线图标题字体为宋体_python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)...
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
- 科学数据库Python——matplotlib画折线图
matplotlib绘制折线图基础操作 matplotlib基础绘图 设置图片大小 保存到本地 调整x或者y轴刻度的间距 解决matplotlib的中文乱码问题 标题.x轴和y轴的描述信息 线条的样式 ...
- python matplotlib画折线图_python使用matplotlib绘制折线图教程
matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序 ...
- python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...
今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下: #!usr/bin/env python #enco ...
- python matplotlib画图改变图标题和坐标轴标题的字体大小
import matplotlib.pyplot as pltplt.title('Input',fontdict={'weight':'normal','size': 20}) #改变图标题字体 p ...
- python matplotlib 画滚动图_Python下matplotlib常见图形绘制
Matplotlib 是 Python 的一个2D绘图库,可以帮助我们绘制各种图形,下面介绍一些最常见的数学图形绘制方法. 1.直线图 importnumpy as npimportmatplotli ...
- Python matplotlib 画并保存 部分背景为透明的图
Python matplotlib 画并保存 部分背景为透明的图 方法1 方法2 效果 部分背景为透明的图可以满足多种需求,比如在网页的彩色背景上显示绘图非常有用.根据matplotlib的官方文档, ...
- 如何使用python画折线图-Python 使用 matplotlib 画折线图教程
话不多说,直接上代码.最近修改一篇论文,实验部分的图全部重画了一下,也正好在此进行整理.使用 Python 的 matplotlib 库来画图还是比较方便的,今天整理一下用 matplotlib 画折 ...
- python 画三维函数图-如何用Matplotlib 画三维图的示例代码
最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...
最新文章
- SHELL训练营--day5__shell脚本(1)
- 数据库事务的ACID特性及含义
- 【Flask】url_for函数
- Eclipse上Maven环境配置使用
- python中api_通过Python中的API查找相关的工作技能
- 【CodeForces - 340B 】Maximal Area Quadrilateral (计算几何,枚举,有坑)
- KVM复制虚拟机,KVM克隆虚拟机
- 怎么查看表用了那个序列_知识分享008:怎样在手机上用萤石云查看海康威视监控录像...
- python plot线形和颜色
- 楼梯有n个台阶,一共有多少种上楼的方法?
- CreateEvent和SetEvent函数
- SpringAOP所支持的AspectJ切点指示器
- 「GoTeam 招聘时间」星图比特 后端开发工程师(上海)
- 实现用c语言输出闰年
- 跟着吴坚鸿学单片机——第2天:delay()延时实现LED灯的闪烁
- 信息系统集成项目1 一般流程
- 认识CMOS图像传感器
- 14条令PHP初学者头疼问题大总结
- 虹科Pico汽车示波器2021年05月简报
- ARM系列之ARM多核指令WFE、WFI、SEV原理
热门文章
- TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试
- 在ROS中配置使用Robotiq二指抓手(三)
- 【学习笔记】线性递推数列
- Oracle 计算两个日期之间的年月、日期,月份数、天数
- STM32F407与大彩串口屏的调试经验总结
- java web 项目 常用 小工具类 ~~~~
- 网络安全:WireShark 抓包及常用协议分析
- C语言对于通信工程的重要性,计算机网络技术对通信工程学生的重要性-计算机网络论文-计算机论文(6页)-原创力文档...
- pylon保存图片_Pylon抓取多相机图像
- Leetcode——回文子串 / 最长回文子串 / 最长回文子序列