**
Matplotlib学习笔记——坐标轴移动
**
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.linspace(-2*math.pi, 2*math.pi, 100)
y1 = 3 * np.sin(x)
y2 = x**2 + 1
plt.figure()
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, color='red', linewidth=5.0, linestyle='--', label='x^2+1')
plt.legend()
plt.xlim(-3, 3)
plt.ylim(-3, 10)
plt.xlabel('xxx')
plt.ylabel('yyy')
plt.title('title')
new_ticks = np.linspace(-3, 3, 5)
plt.xticks(new_ticks)
plt.yticks([-3, 0, 6, 10], [r'$very\ bad$', r'$bad$', r'$good$', r'$very\ good$'])
# 移动坐标轴
ax = plt.gca()
ax.spines['right'].set_color('none') # 去除右边的坐标轴
ax.spines['top'].set_color('none') # 去除上边的坐标轴
ax.xaxis.set_ticks_position('bottom') # 将底部坐标轴设为x轴
ax.yaxis.set_ticks_position('left') # 将左边坐标轴设为y轴
ax.spines['bottom'].set_position(('data', 3)) # x轴平移到y=3处
ax.spines['left'].set_position(('data', -1)) # y轴平移到x=-1处
plt.show()