繪制matplotlib多個(gè)圖形于一張圖時(shí)往往會(huì)出現(xiàn)相鄰圖坐標(biāo)軸重疊的現(xiàn)象
此時(shí)只須在匯完所有子圖后加上以下代碼即可
補(bǔ)充:解決matplotlib橫坐標(biāo)日期過(guò)長(zhǎng)導(dǎo)致的重疊、無(wú)法完全顯示問(wèn)題(換行)
該方法較為繁雜,主要是將年月日和時(shí)間分開(kāi),通過(guò)使用plt.text根據(jù)坐標(biāo)位置將年月日重新加上,前面是為了進(jìn)行時(shí)間轉(zhuǎn)化,
有用的代碼為
> plt.text(zb[link],-1.2,year,ha='center')#需要根據(jù)自己的位置調(diào)整Y的坐標(biāo)即調(diào)整-1
完整程序:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用來(lái)正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來(lái)正常顯示負(fù)號(hào)
time1 =input("輸入一個(gè)時(shí)間(時(shí)、分、秒以空格分割):")
year = input('請(qǐng)輸入年份,格式如 2019-8-30 :')
n = input('請(qǐng)輸入X軸分段數(shù):')
old_time_x = []
time1List = time1.split(" ")
time1List = [int(x) for x in time1List]
'''時(shí)間轉(zhuǎn)化'''
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')#需要根據(jù)自己的位置調(diào)整Y的坐標(biāo)即調(diào)整-1
plt.plot(x,y)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python使用matplotlib:subplot繪制多個(gè)子圖的示例
- matplotlib subplot繪制多個(gè)子圖的方法示例
- matplotlib 畫(huà)雙軸子圖無(wú)法顯示x軸的解決方法
- python matplotlib畫(huà)盒圖、子圖解決坐標(biāo)軸標(biāo)簽重疊的問(wèn)題
- matplotlib繪制多個(gè)子圖(subplot)的方法
- Python數(shù)據(jù)分析matplotlib設(shè)置多個(gè)子圖的間距方法
- matplotlib subplots 調(diào)整子圖間矩的實(shí)例
- matplotlib之pyplot模塊實(shí)現(xiàn)添加子圖subplot的使用