本文介紹如何移動matplotlib 中 axis 坐標軸的位置,使用.spines設置邊框:x軸娇斑,y軸材部;使用.set_position設置邊框位置:x=0,y=0的位置;使用.xaxis.set_ticks_position設置x坐標刻度數(shù)字或名稱的位置乐导;使用.yaxis.set_ticks_position設置y坐標刻度數(shù)字或名稱的位置
Demo.py
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1, 2))
plt.ylim((-2, 3))
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.8, -1, 1.22, 3],['$really\ bad$', '$bad$', '$normal$', '$good$', '$really\ good$'])
ax = plt.gca()#使用plt.gca獲取當前坐標軸信息
ax.spines['right'].set_color('none')#使用.spines設置邊框:右側邊框物臂;使用.set_color設置邊框顏色:默認白色
ax.spines['top'].set_color('none')#使用.spines設置邊框:上邊框;使用.set_color設置邊框顏色:默認白色
plt.show()#figure1
ax.xaxis.set_ticks_position('bottom')#使用.xaxis.set_ticks_position設置x坐標刻度數(shù)字或名稱的位置:bottom.(所有位置:top棵磷,bottom,both沉桌,default,none)
ax.spines['bottom'].set_position(('data', 0))#使用.spines設置邊框:x軸留凭;使用.set_position設置邊框位置:y=0的位置;(位置所有屬性:outward兼耀,axes求冷,data)
plt.show()#figure2
ax.yaxis.set_ticks_position('left')#使用.yaxis.set_ticks_position設置y坐標刻度數(shù)字或名稱的位置:left.(所有位置:left,right遵倦,both,default梧躺,none)
ax.spines['left'].set_position(('data',0))#使用.spines設置邊框:y軸;使用.set_position設置邊框位置:x=0的位置巩踏;(位置所有屬性:outward续搀,axes,data)
plt.show()#figure3
結果:
Paste_Image.png
Paste_Image.png
Paste_Image.png