在使用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画盒图、子图解决坐标轴标签重叠的三种解决办法相关推荐

  1. python设置折线图标题字体为宋体_python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)...

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  2. 科学数据库Python——matplotlib画折线图

    matplotlib绘制折线图基础操作 matplotlib基础绘图 设置图片大小 保存到本地 调整x或者y轴刻度的间距 解决matplotlib的中文乱码问题 标题.x轴和y轴的描述信息 线条的样式 ...

  3. python matplotlib画折线图_python使用matplotlib绘制折线图教程

    matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序 ...

  4. python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...

    今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下: #!usr/bin/env python #enco ...

  5. python matplotlib画图改变图标题和坐标轴标题的字体大小

    import matplotlib.pyplot as pltplt.title('Input',fontdict={'weight':'normal','size': 20}) #改变图标题字体 p ...

  6. python matplotlib 画滚动图_Python下matplotlib常见图形绘制

    Matplotlib 是 Python 的一个2D绘图库,可以帮助我们绘制各种图形,下面介绍一些最常见的数学图形绘制方法. 1.直线图 importnumpy as npimportmatplotli ...

  7. Python matplotlib 画并保存 部分背景为透明的图

    Python matplotlib 画并保存 部分背景为透明的图 方法1 方法2 效果 部分背景为透明的图可以满足多种需求,比如在网页的彩色背景上显示绘图非常有用.根据matplotlib的官方文档, ...

  8. 如何使用python画折线图-Python 使用 matplotlib 画折线图教程

    话不多说,直接上代码.最近修改一篇论文,实验部分的图全部重画了一下,也正好在此进行整理.使用 Python 的 matplotlib 库来画图还是比较方便的,今天整理一下用 matplotlib 画折 ...

  9. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

最新文章

  1. SHELL训练营--day5__shell脚本(1)
  2. 数据库事务的ACID特性及含义
  3. 【Flask】url_for函数
  4. Eclipse上Maven环境配置使用
  5. python中api_通过Python中的API查找相关的工作技能
  6. 【CodeForces - 340B 】Maximal Area Quadrilateral (计算几何,枚举,有坑)
  7. KVM复制虚拟机,KVM克隆虚拟机
  8. 怎么查看表用了那个序列_知识分享008:怎样在手机上用萤石云查看海康威视监控录像...
  9. python plot线形和颜色
  10. 楼梯有n个台阶,一共有多少种上楼的方法?
  11. CreateEvent和SetEvent函数
  12. SpringAOP所支持的AspectJ切点指示器
  13. 「GoTeam 招聘时间」星图比特 后端开发工程师(上海)
  14. 实现用c语言输出闰年
  15. 跟着吴坚鸿学单片机——第2天:delay()延时实现LED灯的闪烁
  16. 信息系统集成项目1 一般流程
  17. 认识CMOS图像传感器
  18. 14条令PHP初学者头疼问题大总结
  19. 虹科Pico汽车示波器2021年05月简报
  20. ARM系列之ARM多核指令WFE、WFI、SEV原理

热门文章

  1. TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试
  2. 在ROS中配置使用Robotiq二指抓手(三)
  3. 【学习笔记】线性递推数列
  4. Oracle 计算两个日期之间的年月、日期,月份数、天数
  5. STM32F407与大彩串口屏的调试经验总结
  6. java web 项目 常用 小工具类 ~~~~
  7. 网络安全:WireShark 抓包及常用协议分析
  8. C语言对于通信工程的重要性,计算机网络技术对通信工程学生的重要性-计算机网络论文-计算机论文(6页)-原创力文档...
  9. pylon保存图片_Pylon抓取多相机图像
  10. Leetcode——回文子串 / 最长回文子串 / 最长回文子序列