溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在python中利用Matplotlib改變坐標(biāo)軸的默認(rèn)位置

發(fā)布時(shí)間:2021-03-23 16:11:01 來源:億速云 閱讀:708 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)怎么在python中利用Matplotlib改變坐標(biāo)軸的默認(rèn)位置,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

使用Matplotlib繪制的圖表的默認(rèn)坐標(biāo)軸是在左下角的,這樣對于一些函數(shù)的顯示不是非常方便,要改變坐標(biāo)軸的默認(rèn)顯示方式主要要使用gca()方法

plt.gca()表示 Get current axis,使用這個(gè)方法我們可以獲得整張圖表的坐標(biāo)對象,這樣我們就可以對坐標(biāo)進(jìn)行處理了,像移動(dòng)位置,設(shè)置顏色之類的,類似plt.gcf()這個(gè)是 Get current figure 即獲得當(dāng)前圖表的圖像,對圖像進(jìn)行處理。

我們可以定義一個(gè)變量接收這個(gè)值:

ax = plt.gca()

接下來還要了解一個(gè)方法 :spine() 這個(gè)單詞的意思是脊梁,我的理解就是包圍圖表的線條,例如:

怎么在python中利用Matplotlib改變坐標(biāo)軸的默認(rèn)位置

其余的兩條邊也是一樣的道理,那么,如果我們要移動(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)軸只剩下兩條線,接下來就是指定x軸以及y軸的綁定:

ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 0))

這樣寫的結(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)軸對象

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()

效果如下:

怎么在python中利用Matplotlib改變坐標(biāo)軸的默認(rèn)位置

上述就是小編為大家分享的怎么在python中利用Matplotlib改變坐標(biāo)軸的默認(rèn)位置了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI