时间:2021-05-22
在使用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、解决办法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画盒图、子图解决坐标轴标签重叠的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等在matplotlib中包含了
在Excel中插入柱状图后,设置了次坐标轴,如果主次坐标轴的数据系列格式均为柱形图,则我们会发现主坐标轴的柱形图和次坐标轴的柱形图重叠了,现教大家操作使得柱形图
主要问题1.介绍如题,画双轴子图不能显示x-轴坐标轴标签,似乎“双轴”与“子图”存在冲突有关,当前版本是anaconda3.7.4。比较奇葩的是我家里的电脑,3
例1使用Python+matplotlib绘图进行可视化,在图形中创建轴域并设置轴域的位置和大小,同时演示设置坐标轴标签和图例位置的用法。参考代码:运行结果:例
本文实例讲述了Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法。分享给大家供大家参考,具体如下:Matplotlib中文显示问题—