gpt4 book ai didi

python - Matplotlib 线条连接不顺畅,Python

转载 作者:行者123 更新时间:2023-11-30 23:14:31 25 4
gpt4 key购买 nike

我正在使用 matplotlib 绘制圆柱体的轮廓,但是线条不想平滑地连接起来,如范围 x[40,60] 中所示。

enter image description here

据我所知,这幅图像确实很微妙,但不幸的是,这对于我的目的来说是 Not Acceptable 。我希望您能看到它。

使用更多数据点似乎并没有什么区别。

有没有办法让曲线在 matplotlib 中更平滑地连接起来?

原始代码:

import numpy as np
import matplotlib.pylab as plt

length = 100.
a = 40
b = 20
n = 2.
alpha = np.radians(25.)
d = 18.

x_nose = np.linspace(0,a,1000)
r_nose = (0.5*d*(1 - ((x_nose-a)/a)**2)**(1/n))

x_mid = np.linspace(x_nose[-1],a+b,2)
r_mid = np.array([r_nose[-1],r_nose[-1]])

x_tail = np.linspace(x_mid[-1],length,1000)
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)

fig = plt.figure()
plt.plot(x_nose,r_nose,'k',linewidth=2,antialiased=True)
plt.plot(x_mid,r_mid,'k',linewidth=2,antialiased=True)
plt.plot(x_tail,r_tail,'k',linewidth=2,antialiased=True)
plt.axis('equal')
plt.show()

放大后可以更容易地看到效果:

enter image description here

最佳答案

我不确定为什么会发生这种情况,但您可以通过构造一个包含要绘制的整条线的 xr 数组来缓解这种情况。

x = np.append(x_nose, x_mid)
x = np.append(x, x_tail )
r = np.append(r_nose, r_mid)
r = np.append(r, r_tail )

plt.plot(x,r,'k',linewidth=2,antialiased=True)

这显然会阻止您更改单个元素的线条样式,但看起来您不想这样做。这对我有用:

Plot showing the effect of appending the x and r arrays

关于python - Matplotlib 线条连接不顺畅,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28715310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com