Matplotlib繪圖基礎(chǔ)之坐標(biāo)軸詳解
Matplotlib
的坐標(biāo)軸是用于在繪圖中表示數(shù)據(jù)的位置的工具。
坐標(biāo)軸是圖像中的水平和垂直線,它們通常表示為 x 軸和 y 軸。
坐標(biāo)軸的作用是幫助觀察者了解圖像中數(shù)據(jù)的位置和大小,通常標(biāo)有數(shù)字或標(biāo)簽,以指示特定的值在圖像中的位置。
1. 坐標(biāo)軸范圍
Matplotlib
繪制圖形時(shí),會(huì)自動(dòng)根據(jù)X,Y軸的數(shù)值,自動(dòng)確定其范圍,確保能夠涵蓋所有的數(shù)值。
比如:
_, ax = plt.subplots(2, 1) #X軸范圍0~8,Y軸范圍1~100 x = np.array(range(0, 8)) y = np.random.randint(1, 100, 8) ax[0].plot(x, y) #X軸范圍10~18,Y軸范圍100~200 x = np.array(range(10, 18)) y = np.random.randint(100, 200, 8) ax[1].plot(x, y)
可以看出,圖形中X軸,Y軸的范圍是根據(jù) x, y
列表中數(shù)值的最大最小值來生成的。
有時(shí)候,為了看圖的局部位置,可以主動(dòng)設(shè)置X軸,Y軸的范圍,而不是依靠自動(dòng)生成。
比如:
_, ax = plt.subplots(2, 1) x = np.array(range(0, 8)) y = np.random.randint(1, 100, 8) ax[0].set_xlim(3, 6) #X軸范圍3~6 ax[0].plot(x, y) x = np.array(range(10, 18)) y = np.random.randint(100, 200, 8) ax[1].set_ylim(120, 150) #Y軸范圍120~150 ax[1].plot(x, y)
上面的示例設(shè)置的第一個(gè)圖的X軸范圍,第二個(gè)圖的Y軸范圍。
2. 雙坐標(biāo)軸
如果要把Y軸不同范圍的兩個(gè)曲線放在一起比較趨勢的話,就要用到雙坐標(biāo)軸。
比如:
fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) x = np.array(range(0, 8)) y1 = np.random.randint(1, 100, 8) ax.plot(x, y1, c='r') y2 = np.random.randint(100, 200, 8) ax.plot(x, y2, c='g')
上圖中紅色的線范圍在1~100
之間,綠色的線范圍在100~200
之間。
雖然放在一個(gè)圖中比較,看著卻像是在兩個(gè)子圖。
這時(shí),我們可以用兩個(gè)不同范圍的Y軸,從而能夠讓兩條曲線更好的比較。
比如:
fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) ax_twinx = ax.twinx() x = np.array(range(0, 8)) y1 = np.random.randint(1, 100, 8) ax.plot(x, y1, c='r') y2 = np.random.randint(100, 200, 8) ax_twinx.plot(x, y2, c='g')
左邊是紅線對(duì)應(yīng)的Y軸,右邊是綠線對(duì)應(yīng)的Y軸。
3. 反坐標(biāo)軸
最后,關(guān)于坐標(biāo)軸的設(shè)置,還有一個(gè)比較常用的設(shè)置是反轉(zhuǎn)坐標(biāo)軸。
坐標(biāo)軸的默認(rèn)順序是從小到大的,但是,對(duì)于一些特殊的圖表類型(如散點(diǎn)圖、條形圖、直方圖等),可以通過反轉(zhuǎn)坐標(biāo)軸來更好地展示數(shù)據(jù)點(diǎn)的分布情況。
3.1. 反轉(zhuǎn)X軸
fig = plt.figure() x = np.array(range(0, 8)) y = np.random.randint(1, 100, 8) ax1 = fig.add_subplot(211) ax1.plot(x, y) #反轉(zhuǎn)X軸 ax2 = fig.add_subplot(212) ax2.invert_xaxis() ax2.plot(x, y)
上例兩個(gè)子圖的X軸順序是相反的。
3.2. 反轉(zhuǎn)Y軸
fig = plt.figure() x = np.array(range(0, 8)) y = np.random.randint(1, 100, 8) ax1 = fig.add_subplot(211) ax1.plot(x, y) #反轉(zhuǎn)Y軸 ax2 = fig.add_subplot(212) ax2.invert_yaxis() ax2.plot(x, y)
上例兩個(gè)子圖的Y軸順序是相反的。
4. 總結(jié)回顧
這里介紹的主要是坐標(biāo)軸在展示分析結(jié)果的不同場景中的常用設(shè)置方法,
其他關(guān)于坐標(biāo)軸字體,顏色等等可以查閱官方文檔。
到此這篇關(guān)于Matplotlib繪圖基礎(chǔ)之坐標(biāo)軸詳解的文章就介紹到這了,更多相關(guān)Matplotlib坐標(biāo)軸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Pandas處理測試數(shù)據(jù)的方法
Pandas是一個(gè)功能極其強(qiáng)大的數(shù)據(jù)分析庫,可以高效地操作各種數(shù)據(jù)集,這篇文章主要介紹了Python自動(dòng)化測試-使用Pandas來高效處理測試數(shù)據(jù),需要的朋友可以參考下2023-02-02python爬蟲爬取bilibili網(wǎng)頁基本內(nèi)容
這篇文章主要介紹了python爬蟲爬取bilibili網(wǎng)頁基本內(nèi)容,用爬蟲爬取bilibili網(wǎng)站排行榜游戲類的所有名稱及鏈接,下面來看看具體的實(shí)現(xiàn)過程吧,需要的朋友可以參考一下2022-01-01python中利用Future對(duì)象回調(diào)別的函數(shù)示例代碼
最近在學(xué)習(xí)python,所以這篇文章主要給大家介紹了關(guān)于在python中利用Future對(duì)象回調(diào)別的函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)下吧。2017-09-09python將pandas datarame保存為txt文件的實(shí)例
今天小編就為大家分享一篇python將pandas datarame保存為txt文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-022020年10款優(yōu)秀的Python第三方庫,看看有你中意的嗎?
2020已經(jīng)過去,在過去的一年里,又有非常多優(yōu)秀的Python庫涌現(xiàn)出來。相對(duì)于numpy、TensorFlow、pandas這些已經(jīng)經(jīng)過多年維護(hù)、迭代,對(duì)于大多數(shù)Python開發(fā)者耳熟能詳?shù)膸觳煌?/div> 2021-01-01Python 經(jīng)典貪心算法之Prim算法案例詳解
這篇文章主要介紹了Python 經(jīng)典貪心算法之Prim算法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09CoAtNet實(shí)戰(zhàn)之對(duì)植物幼苗圖像進(jìn)行分類(pytorch)
谷歌的最新模型CoAtNet做了卷積 + Transformer的融合,在ImageNet-1K數(shù)據(jù)集上取得88.56%的成績。本文主要介紹如何用CoAtNet實(shí)現(xiàn)植物幼苗圖像的分類。感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12最新評(píng)論