python绘图库matplotlib:刻度线的方向调整, in, out, inout

前文相关:

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

 

 

 

 

 

 

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

 

 

 

 

刻度朝外:

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

 

 

 

 

 

 

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

 

 

 

刻度朝向为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()

 

 

 

 

 

 

 

 

=========================================

 

posted on 2022-06-23 10:03  Death_Knight  阅读(102)  评论(0编辑  收藏  举报

导航