天天看點

python繪圖庫matplotlib:刻度線的方向調整, in, out, inoutpython繪圖庫matplotlib:畫線的标志marker的設定——類型/

前文相關:

python繪圖庫matplotlib:畫線的标志marker的設定——類型/size/空心/邊線顔色及大小/顯示marker超出邊界部分

由于工作需要經常用matplotlib來繪圖,但是發現自己畫的圖刻度朝向總是朝外而别人的圖都是朝向内,于是研究了一下matplotlib的刻度朝向問題。

說一下matplotlib的刻度朝向為三種,為in , out, inout,三種。其中,in為刻度朝内;out為刻度朝向外;inout為坐标軸線穿過刻度線,也就是說inout時刻度線即朝内也朝外,不過這樣就會顯得刻度線很短,就像沒有刻度線似的。

設定的代碼:

import matplotlib.pyplot as plt

plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度線方向設定向内
plt.rcParams['ytick.direction'] = 'in'  # 将y軸的刻度方向設定向内

plt.rcParams['xtick.direction'] = 'out'  # 将x周的刻度線方向設定向外
plt.rcParams['ytick.direction'] = 'out'  # 将y軸的刻度方向設定向内外

plt.rcParams['xtick.direction'] = 'inout'  # 将x周的刻度線方向設定向中間
plt.rcParams['ytick.direction'] = 'inout'  # 将y軸的刻度方向設定向中間      

具體:

設定刻度朝内:

import matplotlib.pyplot as plt

plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度線方向設定向内
plt.rcParams['ytick.direction'] = 'in'  # 将y軸的刻度方向設定向内

# plt.rcParams['xtick.direction'] = 'out'  # 将x周的刻度線方向設定向外
# plt.rcParams['ytick.direction'] = 'out'  # 将y軸的刻度方向設定向内外
#
# plt.rcParams['xtick.direction'] = 'inout'  # 将x周的刻度線方向設定向中間
# plt.rcParams['ytick.direction'] = 'inout'  # 将y軸的刻度方向設定向中間

plt.plot([0, 1, 2, 3, 4, 5], [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],\
         color='r', label="Hello World", lw=1.5, ls='-', clip_on=False,\
         marker='d', markersize=10, \
         # markerfacecolor='none',\
         markeredgecolor='black',markeredgewidth=1.5)


plt.legend(loc="lower right",  framealpha=1.0, edgecolor="black")

plt.xlabel('XXX')
plt.ylabel('YYY')
plt.xlim(0, 5)
plt.ylim(0, 1)

plt.xticks([0,1,2,3,4,5], [0,10,20,30,40,50])
plt.grid()

plt.show()      
python繪圖庫matplotlib:刻度線的方向調整, in, out, inoutpython繪圖庫matplotlib:畫線的标志marker的設定——類型/

----------------------------------------------

刻度朝外:

import matplotlib.pyplot as plt

# plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度線方向設定向内
# plt.rcParams['ytick.direction'] = 'in'  # 将y軸的刻度方向設定向内

plt.rcParams['xtick.direction'] = 'out'  # 将x周的刻度線方向設定向外
plt.rcParams['ytick.direction'] = 'out'  # 将y軸的刻度方向設定向内外

# plt.rcParams['xtick.direction'] = 'inout'  # 将x周的刻度線方向設定向中間
# plt.rcParams['ytick.direction'] = 'inout'  # 将y軸的刻度方向設定向中間

plt.plot([0, 1, 2, 3, 4, 5], [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],\
         color='r', label="Hello World", lw=1.5, ls='-', clip_on=False,\
         marker='d', markersize=10, \
         # markerfacecolor='none',\
         markeredgecolor='black',markeredgewidth=1.5)


plt.legend(loc="lower right",  framealpha=1.0, edgecolor="black")

plt.xlabel('XXX')
plt.ylabel('YYY')
plt.xlim(0, 5)
plt.ylim(0, 1)

plt.xticks([0,1,2,3,4,5], [0,10,20,30,40,50])
plt.grid()

plt.show()      
python繪圖庫matplotlib:刻度線的方向調整, in, out, inoutpython繪圖庫matplotlib:畫線的标志marker的設定——類型/

-----------------------------------------------

刻度朝向為inout :

import matplotlib.pyplot as plt

# plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度線方向設定向内
# plt.rcParams['ytick.direction'] = 'in'  # 将y軸的刻度方向設定向内

# plt.rcParams['xtick.direction'] = 'out'  # 将x周的刻度線方向設定向外
# plt.rcParams['ytick.direction'] = 'out'  # 将y軸的刻度方向設定向内外

plt.rcParams['xtick.direction'] = 'inout'  # 将x周的刻度線方向設定向中間
plt.rcParams['ytick.direction'] = 'inout'  # 将y軸的刻度方向設定向中間

plt.plot([0, 1, 2, 3, 4, 5], [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],\
         color='r', label="Hello World", lw=1.5, ls='-', clip_on=False,\
         marker='d', markersize=10, \
         # markerfacecolor='none',\
         markeredgecolor='black',markeredgewidth=1.5)


plt.legend(loc="lower right",  framealpha=1.0, edgecolor="black")

plt.xlabel('XXX')
plt.ylabel('YYY')
plt.xlim(0, 5)
plt.ylim(0, 1)

plt.xticks([0,1,2,3,4,5], [0,10,20,30,40,50])
plt.grid()

plt.show()      
python繪圖庫matplotlib:刻度線的方向調整, in, out, inoutpython繪圖庫matplotlib:畫線的标志marker的設定——類型/