暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python可视化--坐标轴线移动

AI小白笔记 2021-11-09
1484

点击蓝字

关注我们


平时我们在画一些数学图像的时候,会把y轴画在x=0处,如图:



那怎么样才能用python实现这个功能呢,先来看一段代码及其显示的图形:


import matplotlib.pyplot as plt 


plt.plot()
plt.show()



代码中什么图也没有画出来,仅仅显示一个坐标轴,我们注意到坐标轴其实是一个四边形,接下来加几行代码:


import matplotlib.pyplot as plt 


ax=plt.gca()
ax.spines['right'].set_color('none') #隐藏右边的边界线
ax.spines['top'].set_color('none')   #隐藏顶部的边界线
plt.plot()
plt.show()



第3行代码plt.gca()的是意思get current axes,也就是获取当前的坐标系赋值给变量ax,第3-4行spines就是坐标系四边形的四条边,把右边(right)和上面(top)两条边的颜色设置为none,这两条边没有了颜色,就达到了隐藏的目的。


接下来再加几行代码:


import matplotlib.pyplot as plt 


ax=plt.gca()
ax.spines['right'].set_color('none') #隐藏右边的边界线
ax.spines['top'].set_color('none')   #隐藏顶部的边界线
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.plot()
plt.show()



大功告成!第6行是将底部(bottom)的x轴向上移动到y=0处,第7行是将左边(left)的y轴移动到x=0处,这样,两个坐标轴就移到了图中央。


接下来就可以在这个坐标系上画图了。


import matplotlib.pyplot as plt 
import numpy as np


ax=plt.gca()
ax.spines['right'].set_color('none') #隐藏右边的边界线
ax.spines['top'].set_color('none')   #隐藏顶部的边界线
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))


x=np.linspace(-3,3,200)
y1=x**2
y2=x+2


plt.plot(x,y1)
plt.plot(x,y2)
plt.show()


THE END


文章转载自AI小白笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论