不懂就问:【python/matplotlib】画图主刻度向外/次刻度向内怎么弄?用ax.xaxis.set_minor_locator(xminor),ax.tick_params

需求:在画图时设置刻度,并且主刻度向外,次刻度向内

最初画出来的样子

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

x = np.arange(1, 100)
y = x**2

fig = plt.figure(figsize=(9, 6))
ax = fig.add_subplot(111)
ax.plot(x,y)
plt.show()

在这里插入图片描述
加刻度之后

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

x = np.arange(1, 100)
y = x**2

fig = plt.figure(figsize=(9, 6))
ax = fig.add_subplot(111)

# 准备 x/y轴刻度,以及刻度标签
# x轴
xmajor = MultipleLocator(10)  # 主 10 的倍数
xminor = MultipleLocator(2)  # 次 2的倍数
# y轴
ymajor_1 = MultipleLocator(2000)
yminor_1 = MultipleLocator(400)

# 设置 x/y轴刻度,以及刻度标签
# x 轴
ax.xaxis.set_minor_locator(xminor)
ax.xaxis.set_major_locator(xmajor)
ax.tick_params(axis="x", direction="in", which="minor", length=4)
ax.tick_params(axis="x", direction="out", which="major", labelsize=15, length=5)
'''
axis: x轴还是y轴
direction:"in" 向内,"out"向外
which:"major" 设置主轴参数,"minor"设置次轴参数,"both"l两个轴的参数一起设置
labelsize:设置刻度标签的字体大小
length:设置标签刻度的长度
'''
# y轴
ax.yaxis.set_minor_locator(yminor_1)
ax.yaxis.set_major_locator(ymajor_1)
ax.tick_params(axis="y", direction="in", which="minor", length=4)
ax.tick_params(axis="y", direction="out", which="major", labelsize=15, length=5)

ax.plot(x,y)
plt.show()

在这里插入图片描述
后记:
准备刻度值参数不一定用 MultipleLocator()
1、可以自动生成:

major = AutoLocator()

2、可以是俺已有的数据,或俺指定的标记

major = FixedLocator(FixedLocator(locs=[0, 2000, 4000, 6000, 8000, 10000, 12000, 13000])

还有其他的一些生成方式可参照大佬的说明进行

https://blog.csdn.net/weixin_43702663/article/details/92014565?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165240115016781435485472%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165240115016781435485472&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-7-92014565-null-null.142v9pc_search_result_control_group,157v4control&utm_term=ax.xaxis.set_minor_locator%28%29&spm=1018.2226.3001.4187

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值