Python3使用matplotlib繪圖時(shí),坐標(biāo)軸刻度不從X軸、y軸兩端開始
使用matplotlib繪圖時(shí),坐標(biāo)軸刻度不從X軸、y軸兩端開始
這樣輸出的圖片真的不太好看,請(qǐng)問有什么方法可以避免嗎?
(已經(jīng)查詢了百度,沒有發(fā)現(xiàn)這各個(gè)問題的提問和解決方法)
import csv from datetime import datetime from matplotlib import pyplot as plt #從文件中獲取日期、氣溫 filename='death_valley_2014.csv' with open(filename) as f: reader = csv.reader(f) header_row = next(reader) '''for index,column_header in enumerate(header_row): print(index,column_header)''' dates, highs, lows=[], [], [] for row in reader: try: current_date=datetime.strptime(row[0],"%Y-%m-%d") high=int(row[1]) low=int(row[3]) except ValueError: print(current_date, 'missing data') else: dates.append(current_date) highs.append(high) lows.append(low) # 根據(jù)數(shù)據(jù)繪制圖形 fig = plt.figure(dpi=128, figsize= (10,6)) plt.plot(dates, highs, c='red') plt.plot(dates, lows, c='blue') plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1) # 設(shè)置圖形的格式 plt.title("Daily high and low temperatures-2014", fontsize=24) plt.xlabel('', fontsize=16) fig.autofmt_xdate() plt.ylabel('Temperatur(F)',fontsize = 16) plt.tick_params(axis= 'both', which= 'major',labelsize= 16) plt.show()
最后輸出的結(jié)果如下,可以看到,無論是x軸還是y軸,刻度線均未從軸起始端開始出現(xiàn),也不在軸末端出現(xiàn)。
matplotlib添加坐標(biāo)軸刻度時(shí)的一個(gè)常見問題
問題描述
python初學(xué)者學(xué)習(xí)使用matplotlib作圖時(shí),可能會(huì)遇到添加坐標(biāo)軸不起作用的情況,這時(shí)有可能是因?yàn)榇a段順序出了問題。
我們來看下面一段代碼,
import matplotlib.pyplot as plt import random # 數(shù)據(jù)生成 x = range(50) y = [random.uniform(15, 30) for i in x] # 畫布生成 plt.figure(figsize=(20, 8), dpi=80) # 坐標(biāo)軸添加 y_ticks = range(30) plt.yticks(y_ticks[::5]) # y軸從0到30,間隔為5 # 圖形繪制 plt.plot(x, y) # 圖形顯示 plt.show()
生成圖形如下,
我們發(fā)現(xiàn),縱軸(y軸) 并不是我們?cè)O(shè)定的從0到30,間隔為5
解決方法
我們將【添加坐標(biāo)軸】段的代碼移到【圖形繪制】段代碼之后,
import matplotlib.pyplot as plt import random # 數(shù)據(jù)生成 x = range(50) y = [random.uniform(15, 30) for i in x] # 畫布生成 plt.figure(figsize=(20, 8), dpi=80) # 圖形繪制 plt.plot(x, y) # 坐標(biāo)軸添加 y_ticks = range(30) plt.yticks(y_ticks[::5]) # 圖形顯示 plt.show()
重新生成圖形如下,
這時(shí)坐標(biāo)軸設(shè)置就起作用了。
注意:
綜上,使用matplotlib繪圖時(shí),坐標(biāo)軸的設(shè)置需要放到圖形繪制之后。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python函數(shù)的參數(shù)類型和使用技巧詳解
這篇文章主要介紹了Python函數(shù)的參數(shù)類型和使用技巧詳解,函數(shù)指通過專門的代碼組織,用來實(shí)現(xiàn)特定功能的代碼段,具有相對(duì)的獨(dú)立性,可以被其他代碼重復(fù)調(diào)用,需要的朋友可以參考下2023-08-08Python中if __name__ == "__main__"詳細(xì)解釋
這篇文章主要介紹了Python中if __name__ == "__main__"詳細(xì)解釋,需要的朋友可以參考下2014-10-10numpy判斷數(shù)值類型、過濾出數(shù)值型數(shù)據(jù)的方法
今天小編就為大家分享一篇numpy判斷數(shù)值類型、過濾出數(shù)值型數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06python實(shí)現(xiàn)復(fù)制文件到指定目錄
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)復(fù)制文件到指定的目錄下,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10python 實(shí)用工具狀態(tài)機(jī)transitions
這篇文章主要介紹了python 實(shí)用工具狀態(tài)機(jī)transitions的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11python網(wǎng)絡(luò)爬蟲精解之Beautiful Soup的使用說明
簡單來說,Beautiful Soup 是 python 的一個(gè)庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù),Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能,需要的朋友可以參考下2021-09-09