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 多繼承中的一個(gè)詭異現(xiàn)象 既是 Father又是grandfather
我們知道,在面向?qū)ο缶幊汤锩?,繼承是一個(gè)很重要的概念。子類可以使用父類的方法和屬性,接下來小編將用舉例的方式為大家講解Python 多繼承中的一個(gè)詭異現(xiàn)象 其即是爸爸又是爺爺?shù)钠孑猬F(xiàn)象,感興趣的小伙伴可以看下面文章具體了解2021-09-09
Python利用Turtle庫(kù)繪制一個(gè)小老虎
虎年就是要畫老虎!本文將通過Python中的Turtle庫(kù)繪制一個(gè)可愛的小老虎,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-02-02
python使用opencv驅(qū)動(dòng)攝像頭的方法
今天小編就為大家分享一篇python使用opencv驅(qū)動(dòng)攝像頭的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
Python flask與fastapi性能測(cè)試方法介紹
這篇文章主要介紹了Python flask與fastapi性能測(cè)試方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12
Python的Django框架中的select_related函數(shù)對(duì)QuerySet 查詢的優(yōu)化
這篇文章主要介紹了Python的Django框架中的select_related函數(shù)對(duì)QuerySet查詢的優(yōu)化,以減少數(shù)據(jù)庫(kù)的查詢次數(shù)為目的,需要的朋友可以參考下2015-04-04
Tkinter組件實(shí)現(xiàn)Radiobutton的示例
Radiobutton組件用于實(shí)現(xiàn)多選一的問題,本文主要介紹了Tkinter組件實(shí)現(xiàn)Radiobutton的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
python使用yield壓平嵌套字典的超簡(jiǎn)單方法
這篇文章主要給大家介紹了關(guān)于python使用yield壓平嵌套字典的超簡(jiǎn)單方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

