主目录
坐标轴设置(范围、标签、位置)
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(())
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()