绘制matplotlib多个图形于一张图时往往会出现相邻图坐标轴重叠的现象
此时只须在汇完所有子图后加上以下代码即可
plt.tight_layout()
补充:解决matplotlib横坐标日期过长导致的重叠、无法完全显示问题(换行)
该方法较为繁杂,主要是将年月日和时间分开,通过使用plt.text根据坐标位置将年月日重新加上,前面是为了进行时间转化,
> plt.text(zb[link],-1.2,year,ha='center')#需要根据自己的位置调整Y的坐标即调整-1
import matplotlib.pyplot as plt import pandas as pd import numpy as np plt.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 - 24 print(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的坐标即调整-1 plt.plot(x,y)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理