您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么在python中利用Matplotlib改變坐標軸的默認位置,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
使用Matplotlib繪制的圖表的默認坐標軸是在左下角的,這樣對于一些函數的顯示不是非常方便,要改變坐標軸的默認顯示方式主要要使用gca()方法
plt.gca()表示 Get current axis,使用這個方法我們可以獲得整張圖表的坐標對象,這樣我們就可以對坐標進行處理了,像移動位置,設置顏色之類的,類似plt.gcf()這個是 Get current figure 即獲得當前圖表的圖像,對圖像進行處理。
我們可以定義一個變量接收這個值:
ax = plt.gca()
接下來還要了解一個方法 :spine() 這個單詞的意思是脊梁,我的理解就是包圍圖表的線條,例如:
其余的兩條邊也是一樣的道理,那么,如果我們要移動坐標到中心點,那么我們可以移動其中的兩條邊,并隱藏兩條邊即可:
ax.spines[‘right'].set_color(‘none')
ax.spines[‘top'].set_color(‘none')
ax.xaxis.set_ticks_position(‘bottom')
ax.yaxis.set_ticks_position(‘left')
這時候做坐標軸只剩下兩條線,接下來就是指定x軸以及y軸的綁定:
ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 0))
這樣寫的結果是將x,y軸綁定到特定位置,至于這兩個的值,其實試幾次就好理解了,上面的這種情況是坐標軸的交點是(0, 0),如果改成:
ax.spines[‘bottom'].set_position((‘data', 0))
ax.spines[‘left'].set_position((‘data', 1))
這樣兩個坐標軸的交點就是(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...') #設置坐標軸的文字標簽 ax = plt.gca() # get current axis 獲得坐標軸對象 ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') # 將右邊 上邊的兩條邊顏色設置為空 其實就相當于抹掉這兩條邊 ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('left') # 指定下邊的邊作為 x 軸 指定左邊的邊為 y 軸 ax.spines['bottom'].set_position(('data', 0)) #指定 data 設置的bottom(也就是指定的x軸)綁定到y軸的0這個點上 ax.spines['left'].set_position(('data', 0)) plt.plot(x, y1, linestyle='--') plt.plot(x, y2) plt.show()
效果如下:
上述就是小編為大家分享的怎么在python中利用Matplotlib改變坐標軸的默認位置了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。