matplotlib5---设置轴范围limits,标度tick, 刻度符号 tick label, 轴居中

本文详细介绍了matplotlib库中关于轴的设置,包括轴范围限制、刻度设定、刻度标签、轴居中及轴标签的设置方法,提供了具体的代码示例。

本文只要讲述绘图中轴的相关设置

  1. 设置轴的范围 setting limits
  2. 设置轴的刻度 setting ticks
  3. 设置轴刻度的标记 setting tick labels
  4. 将x,y轴居中
  5. 设置x, y轴的label
x = np.linspace(-np.pi, np.pi, 128,endpoint=True)
cosx,sinx,x_3 = np.cos(x), np.sin(x), x / 3

1. 设置轴的范围

matplotlib.pyplot.xlim(*args, **kwargs)
matplotlib.pyplot.ylim(*args, **kwargs)

参数传递:

  • xlim((xmin, xmax))
  • xlim(xmin, xmax)
  • xlim(xmin=xmin, xmax=xmax)

个人推荐使用axes.set_xlim(), 显然是对于每一个axes设置轴属性,用法与上述相同
在使用关键字参数时,可以只指定一个值,而保持另一个值使用默认值

fig = plt.figure(1)
axes0 = plt.subplot(111)
line1, line2 = axes0.plot(x, cosx, 'w',x, x_3, 'c')

line1.set_linewidth(2.5)
line2.set_linewidth(1)
# plt.xlim(x.min() *2, x.max()*2)
axes0.set_xlim(x.min() *2, x.max()*2)
axes0.set_ylim(cosx.min() * 1.5, cosx.max() * 1.5)
plt.show()

在这里插入图片描述

2. 设置刻度 setting ticks

matplotlib.pyplot.xticks(*args, **kwargs)

matplotlib.pyplot.yticks(*args, **kwargs)

Tick containers

Tick containers

fig = plt.figure(1)
axes0 = plt.subplot(111)
line1, line2 = axes0.plot(x, cosx, 'w',x, x_3, 'c')

line1.set_linewidth(2.5)
line2.set_linewidth(1)
# plt.xlim(x.min() *2, x.max()*2)
axes0.set_xlim(x.min() *1.2, x.max()*1.2)
axes0.set_ylim(cosx.min() * 1.2, cosx.max() * 1.2)

axes0.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi])
axes0.set_yticks([-1, 0, 1])
plt.show()

在这里插入图片描述

3. 设置tick labels

  1. 可以使用plt.xticks(tick, label), 也可以使用axes.set_xticklabels(label),

推荐使用后者
label的长度与tick相同,并且是可索引对象

matplotlib.axes.Axes.set_xticklabels
2. 可以通过使用r'$math$的形式使用markdown math公式
text

fig = plt.figure(1)
axes0 = plt.subplot(111)
line1, line2 = axes0.plot(x, cosx, 'w',x, x_3, 'c')

line1.set_linewidth(2.5)
line2.set_linewidth(1)
# plt.xlim(x.min() *2, x.max()*2)
axes0.set_xlim(x.min() *1.2, x.max()*1.2)
axes0.set_ylim(cosx.min() * 1.2, cosx.max() * 1.2)

axes0.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi])
axes0.set_xticklabels([r'$-\pi$', r'$-\frac{\pi}{2}$', 0,  r'$+\frac{\pi}{2}$', r'$+\pi$'])
axes0.set_yticks([-1, 0, 1])
axes0.set_yticklabels([r'-1', r'0', r'+1'])
plt.show()

在这里插入图片描述

4. 设置x,yz轴居中 spines

spine

axes有4个边界,上,下,左,右;将上和有的边界颜色设为无色,然后将x轴设为下边界,将x轴数据标记‘0’,同理对左边界做相同处理。
set_position(position)

fig = plt.figure(1)
axes0 = plt.subplot(111)
line1, line2 = axes0.plot(x, cosx, 'w',x, x_3, 'c')

line1.set_linewidth(2.5)
line2.set_linewidth(1)
# plt.xlim(x.min() *2, x.max()*2)
axes0.set_xlim(x.min() *1.2, x.max()*1.2)
axes0.set_ylim(cosx.min() * 1.2, cosx.max() * 1.2)

axes0.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi])
axes0.set_xticklabels([r'$-\pi$', r'$-\frac{\pi}{2}$', 0,  r'$+\frac{\pi}{2}$', r'$+\pi$'])
axes0.set_yticks([-1, 0, 1])
axes0.set_yticklabels([r'-1', r'0', r'+1'])

# 居中xy轴
axes0.spines['right'].set_color('none')
axes0.spines['top'].set_color('none')
axes0.xaxis.set_ticks_position('bottom')
axes0.spines['bottom'].set_position(('data',0))
axes0.yaxis.set_ticks_position('left')
axes0.spines['left'].set_position(('data',0))

plt.show()

在这里插入图片描述

一下代码将倒数第二行代码axes0.spines['left'].set_position(('data',0))改为axes0.spines['left'].set_position(('data',np.pi))
下列为绘制的图形:

在这里插入图片描述

5. 设置x,y轴的label

axes.set_xlabel()
axes.set_ylabel()

fig = plt.figure(1)
axes0 = plt.subplot(111)
line1, line2 = axes0.plot(x, cosx, 'w',x, x_3, 'c')

line1.set_linewidth(2.5)
line2.set_linewidth(1)
# plt.xlim(x.min() *2, x.max()*2)
axes0.set_xlim(x.min() *1.2, x.max()*1.2)
axes0.set_ylim(cosx.min() * 1.2, cosx.max() * 1.2)

axes0.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi])
axes0.set_xticklabels([r'$-\pi$', r'$-\frac{\pi}{2}$', 0,  r'$+\frac{\pi}{2}$', r'$+\pi$'])
axes0.set_yticks([-1, 0, 1])
axes0.set_yticklabels([r'-1', r'0', r'+1'])


axes0.set_xlabel('x-values')
axes0.set_ylabel('y-values')
plt.show()

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值