Matplotlib 中绘图的缩放,Python
Scaling of plot in Matplotlib, Python
我写了下面的程序,绘制了代码后面所示的形状:
length = 100
a = 50
b = 0
n = 2
alpha = np.radians(25.)
d = 18
x_nose = np.linspace(0,a,50)
r_nose = (0.5*d*(1. - ((x_nose-a)/a)**2.)**(1./n))
x_mid = np.linspace(a,(a+b),2)
r_mid = (((d/2) * np.ones(2)))
x_tail = np.linspace((a+b),length,50)
l_tail = (length - a - b)
r_tail = (0.5*d - ((3*d)/(2*l_tail**2) - np.tan(alpha)/l_tail)*(x_tail-a-b)**2 + (d/l_tail**3 - np.tan(alpha)/l_tail**2)*(x_tail-a-b)**3)
line1 = plt.plot(x_nose,r_nose,'k',x_mid,r_mid,'k',x_tail,r_tail,'k')
line2 = plt.plot(x_nose,-r_nose,'k',x_mid,-r_mid,'k',x_tail,-r_tail,'k')
plt.axis('equal')
plt.setp([line1,line2], linewidth=2)
plt.show()
不过,用于计算形状的公式是为 length = 100
定义的。
如何为变量 length
缩放整个图形?
您可以通过以下方式使用plt.xlim
:
plt.xlim(-a*length, b*length)
其中 a
和 b
是您选择的一些系数(即 a
=0,b
=1)
您可以对您正在绘制的每个矢量应用比例因子,甚至线性变换
ax = 0.1 ; bx = -5.0 ; fx = lambda x: ax*x+bx
plt.plot(fx(x_head), r_head, fx(x_mid), r_mid, fx(x_tail), r_tail)
...
在上面的示例中,我只是应用了缩放,以便 x 轴限制为 [-5, 5],我没有更改 r
上的缩放,但您可以应用根据需要对 r
向量进行相同的缩放或不同的缩放。
我写了下面的程序,绘制了代码后面所示的形状:
length = 100
a = 50
b = 0
n = 2
alpha = np.radians(25.)
d = 18
x_nose = np.linspace(0,a,50)
r_nose = (0.5*d*(1. - ((x_nose-a)/a)**2.)**(1./n))
x_mid = np.linspace(a,(a+b),2)
r_mid = (((d/2) * np.ones(2)))
x_tail = np.linspace((a+b),length,50)
l_tail = (length - a - b)
r_tail = (0.5*d - ((3*d)/(2*l_tail**2) - np.tan(alpha)/l_tail)*(x_tail-a-b)**2 + (d/l_tail**3 - np.tan(alpha)/l_tail**2)*(x_tail-a-b)**3)
line1 = plt.plot(x_nose,r_nose,'k',x_mid,r_mid,'k',x_tail,r_tail,'k')
line2 = plt.plot(x_nose,-r_nose,'k',x_mid,-r_mid,'k',x_tail,-r_tail,'k')
plt.axis('equal')
plt.setp([line1,line2], linewidth=2)
plt.show()
不过,用于计算形状的公式是为 length = 100
定义的。
如何为变量 length
缩放整个图形?
您可以通过以下方式使用plt.xlim
:
plt.xlim(-a*length, b*length)
其中 a
和 b
是您选择的一些系数(即 a
=0,b
=1)
您可以对您正在绘制的每个矢量应用比例因子,甚至线性变换
ax = 0.1 ; bx = -5.0 ; fx = lambda x: ax*x+bx
plt.plot(fx(x_head), r_head, fx(x_mid), r_mid, fx(x_tail), r_tail)
...
在上面的示例中,我只是应用了缩放,以便 x 轴限制为 [-5, 5],我没有更改 r
上的缩放,但您可以应用根据需要对 r
向量进行相同的缩放或不同的缩放。