4、matplotlib 坐标轴

主目录

坐标轴设置(范围、标签、位置)

1、创建数据,此处为三角函数为例

import matplotlib.pyplot as mp
import numpy as np
x = np.linspace(-np.pi, np.pi, 999)
cos_y = np.cos(x)
sin_y = np.sin(x)

2、设置坐标轴范围【xlim】

mp.xlim(
    x.min() * 1.1,
    x.max() * 1.1
)
mp.ylim(
    min(cos_y.min(), sin_y.min()) * 1.1,
    max(cos_y.max(), sin_y.max()) * 1.1
)

3、设置坐标轴刻度标签【xticks】

mp.xticks(
    [-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
    [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$\frac{\pi}{2}$', r'$\pi$']
)
mp.yticks([-1, 0, 1])

4、获取坐标轴对象【gca】(此处以设置十字坐标轴为例)

# 获取当前坐标轴对象
ax = mp.gca()

# 将垂直坐标刻度置于左边框
ax.yaxis.set_ticks_position('left')
# 将水平坐标刻度置于底边框
ax.xaxis.set_ticks_position('bottom')
# 将左边框置于数据坐标原点
ax.spines['left'].set_position(('data', 0))
# 将底边框置于数据坐标原点
ax.spines['bottom'].set_position(('data', 0))

# 将右边框和顶边框设置成无色
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

5、绘图并显示

# 绘图
mp.plot(x, cos_y, linestyle='-', linewidth=1,color='dodgerblue')
mp.plot(x, sin_y, linestyle='-', linewidth=1,color='orangered')
# 显示
mp.show()

这里写图片描述

坐标轴刻度

Axes.xaxis.set_major_locator(刻度定位器对象)

  • ax = mp.gca()
  • ax.yaxis.set_major_locator(刻度定位器对象)
  • ax.yaxis.set_minor_locator(刻度定位器对象)
import numpy as np
import matplotlib.pyplot as mp
# 创建窗口
mp.figure()
# 存放【刻度定位器对象】的列表
locators = [
    'mp.NullLocator()',
    'mp.MaxNLocator(nbins=3, steps=[4.9, 5.1])',
    'mp.FixedLocator(locs=[0, 2, 8, 10])',
    'mp.AutoLocator()',
    'mp.IndexLocator(offset=0.5, base=1.5)',
    'mp.MultipleLocator()',
    'mp.LinearLocator(numticks=21)',
    'mp.LogLocator(base=2, subs=[1.0])'
]
length = len(locators)
# 子图绘制
for i in range(length):
    mp.subplot(length, 1, i + 1)
    mp.xlim(0, 10)
    mp.ylim(-1, 1)
    mp.yticks(())
    # gca获取当前的axes绘图区域
    ax = mp.gca()
    ax.spines['left'].set_color('none')
    ax.spines['top'].set_color('none')
    ax.spines['right'].set_color('none')
    ax.spines['bottom'].set_position(('data', 0))
    # 标签刻度
    ax.xaxis.set_major_locator(eval(locators[i]))  # 传参:刻度定位器
    ax.xaxis.set_minor_locator(mp.MultipleLocator(0.1))
    # 绘图
    mp.plot(np.arange(11), np.zeros(11), color='none')
    mp.text(5, 0.3, locators[i][3:], ha='center', size=12)
mp.tight_layout()
mp.show()

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值