matplotlib如何调整刻度线方向为in、out或inout?

2026-05-24 12:571阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计1214个文字,预计阅读时间需要5分钟。

matplotlib如何调整刻度线方向为in、out或inout?

前文相关:Python 绘图库 matplotlib:设置线条的标记 marker —— 类型、大小、空心/实心、边线颜色及粗细、显示 marker 超出边界部分

由于工作需要,经常使用 matplotlib 来绘图。但最近发现,自己绘制的图形的标记(marker)部分总是超出边界,显得不够美观。以下是一些关于设置 marker 的技巧,希望能帮助到大家。

1. 类型:matplotlib 提供了多种 marker 类型,如 'o'、's'、'^'、'*' 等。可以通过设置 `marker='类型'` 来选择所需的 marker 类型。

2. 大小:marker 的大小可以通过 `markersize` 参数来设置,单位为点(point)。例如,`markersize=10` 表示 marker 的大小为 10 点。

3. 空心/实心:默认情况下,marker 是实心的。可以通过设置 `markeredgewidth` 参数来设置边线的宽度,`markerfacecolor` 参数来设置填充颜色。如果需要空心 marker,可以将 `markerfacecolor` 设置为 'none'。

4. 边线颜色及粗细:边线的颜色可以通过 `markeredgewidth` 和 `markeredgecolor` 参数来设置。边线的粗细可以通过 `markeredgewidth` 参数来设置。

5. 显示 marker 超出边界部分:默认情况下,marker 不会超出边界。如果需要显示超出边界部分,可以将 `clip_on` 参数设置为 `False`。

以下是一个简单的示例代码:

matplotlib如何调整刻度线方向为in、out或inout?

pythonimport matplotlib.pyplot as plt

x=[1, 2, 3, 4, 5]y=[2, 3, 5, 7, 11]

plt.plot(x, y, marker='o', markersize=10, markerfacecolor='none', markeredgecolor='red', markeredgewidth=2, clip_on=False)

plt.show()

这段代码将绘制一个带有红色边线的空心圆点标记的线条图。

前文相关:

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

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

本文共计1214个文字,预计阅读时间需要5分钟。

matplotlib如何调整刻度线方向为in、out或inout?

前文相关:Python 绘图库 matplotlib:设置线条的标记 marker —— 类型、大小、空心/实心、边线颜色及粗细、显示 marker 超出边界部分

由于工作需要,经常使用 matplotlib 来绘图。但最近发现,自己绘制的图形的标记(marker)部分总是超出边界,显得不够美观。以下是一些关于设置 marker 的技巧,希望能帮助到大家。

1. 类型:matplotlib 提供了多种 marker 类型,如 'o'、's'、'^'、'*' 等。可以通过设置 `marker='类型'` 来选择所需的 marker 类型。

2. 大小:marker 的大小可以通过 `markersize` 参数来设置,单位为点(point)。例如,`markersize=10` 表示 marker 的大小为 10 点。

3. 空心/实心:默认情况下,marker 是实心的。可以通过设置 `markeredgewidth` 参数来设置边线的宽度,`markerfacecolor` 参数来设置填充颜色。如果需要空心 marker,可以将 `markerfacecolor` 设置为 'none'。

4. 边线颜色及粗细:边线的颜色可以通过 `markeredgewidth` 和 `markeredgecolor` 参数来设置。边线的粗细可以通过 `markeredgewidth` 参数来设置。

5. 显示 marker 超出边界部分:默认情况下,marker 不会超出边界。如果需要显示超出边界部分,可以将 `clip_on` 参数设置为 `False`。

以下是一个简单的示例代码:

matplotlib如何调整刻度线方向为in、out或inout?

pythonimport matplotlib.pyplot as plt

x=[1, 2, 3, 4, 5]y=[2, 3, 5, 7, 11]

plt.plot(x, y, marker='o', markersize=10, markerfacecolor='none', markeredgecolor='red', markeredgewidth=2, clip_on=False)

plt.show()

这段代码将绘制一个带有红色边线的空心圆点标记的线条图。

前文相关:

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

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