本帖最后由 傻纸 于 2019-9-9 23:54 编辑
官方确实没有文档说明这个函数的用法
但是可以试一下吧,因为只是SubplotZero,那就把其他不相关的代码去掉了,另外也需要加些数据进去,改成这样
- import matplotlib.pyplot as plt
- from mpl_toolkits.axisartist.axislines import SubplotZero
- import numpy as np
- fig = plt.figure()
- ax = SubplotZero(fig, 1, 1, 1)
- fig.add_subplot(ax)
- ax.axis["xzero"].set_visible(True)
- ax.axis["yzero"].set_visible(True)
- x=np.linspace(-2*np.pi,2*np.pi,100)
- plt.plot(x,np.sin(x))
- plt.show()
复制代码
显示是这样
然后把ax = SubplotZero(fig, 1, 1, 1),改成
- ax = SubplotZero(fig,111)
复制代码
显示效果也是一样,把函数看成SubplotZero(fig,a,b,c)改变abc的值发现这几个参数取值是有要求的,其中a>=1,b>=1,c=1
然后
ax = SubplotZero(fig, 2, 1, 1)
y轴显示的比例缩小了一半
同样ax = SubplotZero(fig, 2, 1, 1),则x轴显示比例缩小到1/2
-------
官方的参考实例里面都直接设置成这样SubplotZero(fig, 1, 1, 1),那这些感觉就不要去改变它的值了,那它的作用就应该是配置0轴,
假设我要制作一个显示0轴的图,那么官方给出的方法就是这三步:
1.用ax = SubplotZero(fig, 1, 1, 1),配置0轴
2.用fig.add_subplot(ax)将设置好的0轴添加进子图?
3.使用ax.axis["xzero"].set_visible(True),让0轴可见
那还有其他添加0轴的方法吗?直接的方法应该是没有的,但是你也可以试着这样做
- import numpy as np
- import matplotlib.pyplot as plt
- fig, ax = plt.subplots()
- x=np.linspace(-2*np.pi,2*np.pi,100)
- ax.plot(x, np.sin(x))
- ax.spines['bottom'].set_position(('data', 0))
- ax.spines['left'].set_position(('data', 0))
- ax.spines['top'].set_visible(False)
- ax.spines['right'].set_visible(False)
- plt.show()
复制代码