我是matlibplot的新手,我试图绘制一个半径为1的圆,但我的x和y轴都是从0到3,增量为0.25。现在,我绘制了图形和圆形,但我的x和y轴仅从0到1,因此在圆形的上方,下方,左侧或右侧几乎没有空间。这是迄今为止的代码:
import numpy as np
import matplotlib.pyplot as plt
import scipy, pylab
plt.axes()
circle=plt.Circle((0, 0), radius=1, fc='w')
plt.gca().add_patch(circle)
plt.yticks(np.arange(0, 3, 0.25))
plt.xticks(np.arange(0, 3, 0.25))
plt.axis('scaled')
plt.show()
我已经查看了以下问题,但发现它们要么对我想要完成的事情有点过于先进,要么只是偏离主题:
http://stackoverflow.com/questions/27170139/how-to-change-the-range-of-my-x-axis-in-matplotlib
http://stackoverflow.com/questions/22642511/change-y-range-to-start-from-0-with-matplotlib
http://stackoverflow.com/questions/27456185/scaling-axis-for-a-scatter-plot-in-matlibplot-in-python
http://stackoverflow.com/questions/22642511/change-y-range-to-start-from-0-with-matplotlib
我现在要做的是,在我的圆圈保持在图表的同一位置的同时,将x和y轴的范围从0-1增加到0-3,同时保持每个轴上的增量为0.25,允许我在圆的边缘绘制点,而不必担心圆的顶部,底部或任一侧接触两个轴中的任何一个。我已经查看了matlibplot文档,但似乎无法找到如何更改轴上间距的简单逐步说明。对此的任何见解都将是辉煌的!提前致谢!
答案 0 :(得分:7)
要更改轴范围,可以使用
plt.xlim([-3, 3])
plt.ylim([-3, 3])
然后,您必须删除行plt.axis('scaled')
才能生效。
import numpy as np
import matplotlib.pyplot as plt
import scipy, pylab
plt.axes()
circle=plt.Circle((0, 0), radius=1, fc='w')
plt.gca().add_patch(circle)
plt.xlim([-3, 3])
plt.ylim([-3, 3])
plt.yticks(np.arange(-3, 3, 0.25))
plt.xticks(np.arange(-3, 3, 0.25))
plt.show()
答案 1 :(得分:0)
先使用xticks和yticks,再使用xlim和ylim。这将在设置限制之前创建一个数组