此问题在此处已有答案:
How do I equalize the scales of the x-axis and y-axis?(5个答案)
How to set the axis limits(9个答案)
19天前关闭
下面是一个简单的python代码,它可以旋转一个椭圆。我想用x轴和y轴绘制相同的范围(从-3到+3),以直观地检查旋转是否符合预期。这对x轴有效,但对y轴无效(见下图)。我做错了什么?
import math
import numpy as np
import matplotlib.pyplot as plt
theta = np.arange(0, 2*np.pi, 0.01)
a = 1
b = 2
xpos = a*np.cos(theta)
ypos = b*np.sin(theta)
rotn = math.radians(45);
new_xpos = xpos*np.cos(rotn)+ypos*np.sin(rotn)
new_ypos = -xpos*np.sin(rotn)+ypos*np.cos(rotn)
plt.plot(xpos,ypos, 'b')
plt.plot(new_xpos,new_ypos, 'r')
plt.axis('equal')
plt.xlim=([-3, 3])
plt.ylim=([-3, 3])
plt.show()
字符串
x1c 0d1x的数据
2条答案
按热度按时间2hh7jdfx1#
这段代码有两个问题:
1.
字符串
需要
型
plt.axis('equal')
行阻止了xlim/ylim
设置。你必须从代码中删除这一行才能让xlim/ylim
工作。plt.axis('equal')
通过更改轴限制来设置等比例缩放(即,使圆为圆形)。这与ax.set_aspect('equal',adjustable='datalim')相同。* 在这种情况下可能不遵守显式数据限制。* https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axis.html
dbf7pr2w2#
你需要改变:
字符串
改为:
型