plt绘图绘制主次刻度线

这里主要是介绍的坐标轴上的主次刻度的划分,这里需要单独引入ticker中的两个模块进行设置 MultipleLocator, FormatStrFormatter

  • set_major_locator() 设置主刻度
  • set_minor_locator() 设置次刻度
  • set_major_formatter() 设置主刻度格式
  • plt.NullLocator() 删除刻度显示
  • plt.NullFormatter() 删除文本格式
  • tick_params() 设置一些需要的参数的

次刻度只是范围的划定,并不显示对应的数值或字符,一般就不需要设置次刻度的格式

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

# 数据
x = np.linspace(-10, 10 * np.pi)
y1 = np.sin(x)*10

# 绘图
fig, ax = plt.subplots(figsize=(4,3))
ax.plot(x, y1)

# ----------------------------
# 设置y轴范围
ax.set_ylim(ymin=-10, ymax=10)

# 设置y轴主要刻度线
ymajorLocator = MultipleLocator(5)             # 将y轴主刻度标签设置为,以5为间隔
ymajorFormatter = FormatStrFormatter('%.1f')   # 设置y轴标签文本的格式

ax.yaxis.set_major_locator(ymajorLocator)      # 设置y轴主刻度
ax.yaxis.set_major_formatter(ymajorFormatter)  # 设置y轴标签文本格式

# 设置y轴次要刻度线
yminorLocator = MultipleLocator(1)             # 将此y轴次刻度标签设置为,以1为间隔
ax.yaxis.set_minor_locator(yminorLocator)      # 设置y轴次刻度
# ----------------------------

# ----------------------------
# 设置x轴范围
ax.set_xlim(xmin=-10, xmax=10)

# 设置x轴主要刻度线
xmajorLocator = MultipleLocator(5)            # 将x轴主刻度标签设置为,以5为间隔
xmajorFormatter = FormatStrFormatter('%.1f')  # 设置x轴标签文本的格式

ax.xaxis.set_major_locator(xmajorLocator)     # 设置x轴主刻度
ax.xaxis.set_major_formatter(xmajorFormatter) # 设置x轴标签文本格式

# 设置x轴次要刻度线
xminorLocator = MultipleLocator(1)            # 将此x轴次刻度标签设置为,以1为间隔
ax.xaxis.set_minor_locator(xminorLocator)     # 设置x轴次刻度
# ----------------------------

ax.xaxis.grid(True, which='major', linestyle="--", color="lightgray", linewidth=0.75)     # x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='minor', linestyle="--", color="lightgray", linewidth=0.75) # y坐标轴的网格使用次刻度
plt.show()

另外一种例子,更简洁:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

# 数据
x = np.linspace(-10, 10 * np.pi)
y1 = np.sin(x)*10

# 绘图
fig, ax = plt.subplots(figsize=(4,3))
ax.plot(x, y1)

# ----------------------------
# 设置xy轴范围
plt.axis([-10, 10, -10, 10])
# ----------------------------

# ----------------------------
# 设置y轴主要刻度线
ymajorLocator = MultipleLocator(5)             # 将y轴主刻度标签设置为,以5为间隔
ymajorFormatter = FormatStrFormatter('%.1f')   # 设置y轴标签文本的格式

ax.yaxis.set_major_locator(ymajorLocator)      # 设置y轴主刻度
ax.yaxis.set_major_formatter(ymajorFormatter)  # 设置y轴标签文本格式
# ----------------------------

# ----------------------------
# 设置x轴主要刻度线
xmajorLocator = MultipleLocator(5)            # 将x轴主刻度标签设置为,以5为间隔
xmajorFormatter = FormatStrFormatter('%.1f')  # 设置x轴标签文本的格式

ax.xaxis.set_major_locator(xmajorLocator)     # 设置x轴主刻度
ax.xaxis.set_major_formatter(xmajorFormatter) # 设置x轴标签文本格式
# ----------------------------

# ----------------------------
# 设置主次刻度参数
ax.minorticks_on()
ax.tick_params(axis="both", which="major", direction="out", width=1, length=5)
ax.tick_params(axis="both", which="minor", direction="out", width=1, length=3)
# ax.xaxis.set_minor_locator(MultipleLocator(0.4))
# ----------------------------

# ----------------------------
# 设置网格
plt.grid(True, which="major", linestyle="--", color="gray", linewidth=0.75)
plt.grid(True, which="minor", linestyle=":", color="lightgray", linewidth=0.75)
# ----------------------------

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清纯世纪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值