matplotlib如何调整刻度线方向为in、out或inout?
- 内容介绍
- 相关推荐
本文共计1098个文字,预计阅读时间需要5分钟。
前文相关:Python 绘图库 matplotlib:绘制线的标记设置——类型/大小/空心/边线颜色及粗细/显示标记超出边界部分
由于工作需要,经常使用 matplotlib 来绘图。但最近发现,自己绘制的图像在视觉上不如以往美观。经过一番摸索,发现可以通过调整线标记的样式来提升图像的视觉效果。以下是一些设置线标记的技巧:
1. 标记类型:matplotlib 提供了多种标记类型,如 'o'、's'、'^'、'*' 等。可以根据需要选择合适的类型。
2. 标记大小:通过设置 `markersize` 参数可以调整标记的大小,使其更加突出。
3. 标记空心:设置 `markeredgewidth` 参数可以为标记添加边线,使其看起来更加立体。
4. 标记边线颜色及粗细:通过设置 `markeredgewidth` 和 `markeredgecolor` 参数,可以调整边线的颜色和粗细。
5. 显示标记超出边界部分:通过设置 `markercolor` 参数,可以使标记超出边界部分也显示出来。
总之,通过灵活运用这些设置,可以使绘制的图像更加美观、专业。
前文相关:
python绘图库matplotlib:画线的标志marker的设置——类型/size/空心/边线颜色及大小/显示marker超出边界部分
由于工作需要经常用matplotlib来绘图,但是发现自己画的图刻度朝向总是朝外而别人的图都是朝向内,于是研究了一下matplotlib的刻度朝向问题。
说一下matplotlib的刻度朝向为三种,为in , out, inout,三种。其中,in为刻度朝内;out为刻度朝向外;inout为坐标轴线穿过刻度线,也就是说inout时刻度线即朝内也朝外,不过这样就会显得刻度线很短,就像没有刻度线似的。
设置的代码:
import matplotlib.pyplot as pltplt.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 pltplt.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()
=========================================
本文共计1098个文字,预计阅读时间需要5分钟。
前文相关:Python 绘图库 matplotlib:绘制线的标记设置——类型/大小/空心/边线颜色及粗细/显示标记超出边界部分
由于工作需要,经常使用 matplotlib 来绘图。但最近发现,自己绘制的图像在视觉上不如以往美观。经过一番摸索,发现可以通过调整线标记的样式来提升图像的视觉效果。以下是一些设置线标记的技巧:
1. 标记类型:matplotlib 提供了多种标记类型,如 'o'、's'、'^'、'*' 等。可以根据需要选择合适的类型。
2. 标记大小:通过设置 `markersize` 参数可以调整标记的大小,使其更加突出。
3. 标记空心:设置 `markeredgewidth` 参数可以为标记添加边线,使其看起来更加立体。
4. 标记边线颜色及粗细:通过设置 `markeredgewidth` 和 `markeredgecolor` 参数,可以调整边线的颜色和粗细。
5. 显示标记超出边界部分:通过设置 `markercolor` 参数,可以使标记超出边界部分也显示出来。
总之,通过灵活运用这些设置,可以使绘制的图像更加美观、专业。
前文相关:
python绘图库matplotlib:画线的标志marker的设置——类型/size/空心/边线颜色及大小/显示marker超出边界部分
由于工作需要经常用matplotlib来绘图,但是发现自己画的图刻度朝向总是朝外而别人的图都是朝向内,于是研究了一下matplotlib的刻度朝向问题。
说一下matplotlib的刻度朝向为三种,为in , out, inout,三种。其中,in为刻度朝内;out为刻度朝向外;inout为坐标轴线穿过刻度线,也就是说inout时刻度线即朝内也朝外,不过这样就会显得刻度线很短,就像没有刻度线似的。
设置的代码:
import matplotlib.pyplot as pltplt.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 pltplt.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()
=========================================

