Python3使用matplotlib繪圖時,坐標軸刻度不從X軸、y軸兩端開始
使用matplotlib繪圖時,坐標軸刻度不從X軸、y軸兩端開始
這樣輸出的圖片真的不太好看,請問有什么方法可以避免嗎?
(已經(jīng)查詢了百度,沒有發(fā)現(xiàn)這各個問題的提問和解決方法)
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添加坐標軸刻度時的一個常見問題
問題描述
python初學(xué)者學(xué)習(xí)使用matplotlib作圖時,可能會遇到添加坐標軸不起作用的情況,這時有可能是因為代碼段順序出了問題。
我們來看下面一段代碼,
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) # 坐標軸添加 y_ticks = range(30) plt.yticks(y_ticks[::5]) # y軸從0到30,間隔為5 # 圖形繪制 plt.plot(x, y) # 圖形顯示 plt.show()
生成圖形如下,

我們發(fā)現(xiàn),縱軸(y軸) 并不是我們設(shè)定的從0到30,間隔為5
解決方法
我們將【添加坐標軸】段的代碼移到【圖形繪制】段代碼之后,
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) # 坐標軸添加 y_ticks = range(30) plt.yticks(y_ticks[::5]) # 圖形顯示 plt.show()
重新生成圖形如下,

這時坐標軸設(shè)置就起作用了。
注意:
綜上,使用matplotlib繪圖時,坐標軸的設(shè)置需要放到圖形繪制之后。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 多繼承中的一個詭異現(xiàn)象 既是 Father又是grandfather
我們知道,在面向?qū)ο缶幊汤锩妫^承是一個很重要的概念。子類可以使用父類的方法和屬性,接下來小編將用舉例的方式為大家講解Python 多繼承中的一個詭異現(xiàn)象 其即是爸爸又是爺爺?shù)钠孑猬F(xiàn)象,感興趣的小伙伴可以看下面文章具體了解2021-09-09
Python的Django框架中的select_related函數(shù)對QuerySet 查詢的優(yōu)化
這篇文章主要介紹了Python的Django框架中的select_related函數(shù)對QuerySet查詢的優(yōu)化,以減少數(shù)據(jù)庫的查詢次數(shù)為目的,需要的朋友可以參考下2015-04-04
Tkinter組件實現(xiàn)Radiobutton的示例
Radiobutton組件用于實現(xiàn)多選一的問題,本文主要介紹了Tkinter組件實現(xiàn)Radiobutton的示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

