python使用Matplotlib改變坐標(biāo)軸的默認(rèn)位置
使用Matplotlib繪制的圖表的默認(rèn)坐標(biāo)軸是在左下角的,這樣對(duì)于一些函數(shù)的顯示不是非常方便,要改變坐標(biāo)軸的默認(rèn)顯示方式主要要使用gca()方法
plt.gca()表示 Get current axis,使用這個(gè)方法我們可以獲得整張圖表的坐標(biāo)對(duì)象,這樣我們就可以對(duì)坐標(biāo)進(jìn)行處理了,像移動(dòng)位置,設(shè)置顏色之類的,類似plt.gcf()這個(gè)是 Get current figure 即獲得當(dāng)前圖表的圖像,對(duì)圖像進(jìn)行處理。
我們可以定義一個(gè)變量接收這個(gè)值:
ax = plt.gca()
接下來(lái)還要了解一個(gè)方法 :spine() 這個(gè)單詞的意思是脊梁,我的理解就是包圍圖表的線條,例如:

其余的兩條邊也是一樣的道理,那么,如果我們要移動(dòng)坐標(biāo)到中心點(diǎn),那么我們可以移動(dòng)其中的兩條邊,并隱藏兩條邊即可:
ax.spines[‘right'].set_color(‘none')
ax.spines[‘top'].set_color(‘none')
ax.xaxis.set_ticks_position(‘bottom')
ax.yaxis.set_ticks_position(‘left')
這時(shí)候做坐標(biāo)軸只剩下兩條線,接下來(lái)就是指定x軸以及y軸的綁定:
ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 0))
這樣寫(xiě)的結(jié)果是將x,y軸綁定到特定位置,至于這兩個(gè)的值,其實(shí)試幾次就好理解了,上面的這種情況是坐標(biāo)軸的交點(diǎn)是(0, 0),如果改成:
ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 1))
這樣兩個(gè)坐標(biāo)軸的交點(diǎn)就是(1,0).
完整代碼:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-5, 5, 100)
y1 = 0.5 * x
y2 = x * x
plt.figure()
plt.xlabel('X axis...')
plt.ylabel('Y axis...') #設(shè)置坐標(biāo)軸的文字標(biāo)簽
ax = plt.gca() # get current axis 獲得坐標(biāo)軸對(duì)象
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none') # 將右邊 上邊的兩條邊顏色設(shè)置為空 其實(shí)就相當(dāng)于抹掉這兩條邊
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left') # 指定下邊的邊作為 x 軸 指定左邊的邊為 y 軸
ax.spines['bottom'].set_position(('data', 0)) #指定 data 設(shè)置的bottom(也就是指定的x軸)綁定到y(tǒng)軸的0這個(gè)點(diǎn)上
ax.spines['left'].set_position(('data', 0))
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)
plt.show()
效果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能
這篇文章主要介紹了通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-05-05
詳解Python中高階函數(shù)(map,filter,reduce,sorted)的使用
高階函數(shù)就是能夠把函數(shù)當(dāng)成參數(shù)傳遞的函數(shù)就是高階函數(shù),換句話說(shuō)如果一個(gè)函數(shù)的參數(shù)是函數(shù),那么這個(gè)函數(shù)就是一個(gè)高階函數(shù)。本文為大家詳細(xì)講解了Python中常用的四個(gè)高階函數(shù),感興趣的可以了解一下2022-04-04
Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析
這篇文章主要介紹了Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
使用Python的SymPy庫(kù)解決數(shù)學(xué)運(yùn)算問(wèn)題的方法
這篇文章主要介紹了使用Python的SymPy庫(kù)解決數(shù)學(xué)運(yùn)算問(wèn)題的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
Python基于Webhook實(shí)現(xiàn)github自動(dòng)化部署
這篇文章主要介紹了Python基于Webhook實(shí)現(xiàn)github自動(dòng)化部署,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python實(shí)現(xiàn)OFD文件轉(zhuǎn)PDF
OFD 文件是由中國(guó)國(guó)家標(biāo)準(zhǔn)化管理委員會(huì)制定的國(guó)家標(biāo)準(zhǔn),是一種開(kāi)放式文檔格式,具有高度可擴(kuò)展性和可編輯性,本文主要介紹了如何利用Python實(shí)現(xiàn)OFD文件轉(zhuǎn)PDF,需要的可以參考下2024-10-10

