我们在使用matplotlib绘制图像时,默认的坐标轴是在左下角,这样对于一些曲线的显示就不太清楚。如下:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-10, 10, 100)
y1 = 2 * x
y2 = x * x
plt.figure()
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.plot(x, y1, linestyle='--')
plt.plot(x, y2)
plt.show()
根据X和Y绘制两条曲线,直接绘制的话,坐标轴就在左下角。对于曲线的展示不清楚,比如我们想把(0,0)点作为坐标轴原点。可以参考下面的方法。
1.更改坐标轴的位置
可以看到,默认绘图是四个边把图像框起来了。spine() 这个单词的意思是脊梁,就是包围图表的线条。如下:
分为 top,bottom,left,right 上下左右四条边。我们的方法就是隐藏右边和上边,然后移动左边和下边,移动到想要的位置。
- 首先要获取整张图像的坐标,方法是
ax = plt.gca() # 获取整张图像的坐标的对象
- 隐藏起来两条边,右边和上边
# 将右边,上边的两条边颜色设置为空 其实就相当于抹掉这两条边
ax.spines[‘right’].set_color(‘none’)
ax.spines[‘top’].set_color(‘none’)
- 移动左边和下边,指定为为x轴和y轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
- 设置坐标轴交点
# 设置(0,0)为两坐标轴的交点
ax.spines[‘bottom’].set_position((‘data’, 0