完美解决matplotlib子图坐标轴重叠问题
绘制matplotlib多个图形于一张图时往往会出现相邻图坐标轴重叠的现象
此时只须在汇完所有子图后加上以下代码即可
plt.tight_layout()
补充:解决matplotlib横坐标日期过长导致的重叠、无法完全显示问题(换行)
该方法较为繁杂,主要是将年月日和时间分开,通过使用plt.text根据坐标位置将年月日重新加上,前面是为了进行时间转化,
有用的代码为
> plt.text(zb[link],-1.2,year,ha='center')#需要根据自己的位置调整Y的坐标即调整-1
完整程序:
import matplotlib.pyplot as pltimport pandas as pdimport numpy as npplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号time1 =input("输入一个时间(时、分、秒以空格分割):")year = input('请输入年份,格式如 2019-8-30 :')n = input('请输入X轴分段数:')old_time_x = []time1List = time1.split(" ")time1List = [int(x) for x in time1List]'''时间转化'''shi = time1List[0]fen = time1List[1]miao = time1List[2]for x in range(eval(n)+1): time_x = '%02d:%02d:%02d'%(shi,fen,miao) old_time_x.append(time_x) miao += 60 while miao >= 60: miao = miao - 60 fen += 1 while fen >= 60: fen = fen -60 shi += 1 while shi > 24: shi = shi - 24print(old_time_x)x = np.arange(0,10,1)y = np.arange(0,10,1)fig = plt.figure(figsize=(12,6)) plt.xticks(np.linspace(0,9,eval(n)),old_time_x,rotation=0)zb = np.linspace(0,9,eval(n))print(zb)for link in range(len(zb)): plt.text(zb[link],-1.2,year,ha='center')#需要根据自己的位置调整Y的坐标即调整-1plt.plot(x,y)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持 。如有错误或未考虑完全的地方,望不吝赐教。
最后更新于 2021-11-08 08:13:03 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章
- Python中的流程控制详解
- 用UNetbootin工具制作Ubuntu系统启动U盘图文步骤
- 支付宝2015年账单金额不准确吗?支付宝2015年账单包含哪些费用?
- 2023新版阳光同学期末复习卷冲刺100分一二三四五六年级上册下册全套试卷测试卷语文数学英语人教版北师版苏教版小学总复习真题卷
- HTML5 板API璇В