尝试使用 curve_fit 将 sin 函数拟合到此处的某些点。在绘制拟合值和点时,我得到了一些我不知道如何解释的东西,所以我最好发布一些图像。
使用以下代码行会产生:
plt.plot(phase_min, sinusoidal_function(phase_min, *popt), '.', lw=3)
使用线条样式“-”,我得到:
我怎样才能有一条该死的线连接每个相邻的点,而不是中间的所有点?
最佳答案
当您在matplotlib
中绘制一条线时,它会自动按照提供的顺序连接点。请参阅下面的示例:
import matplotlib.pyplot as plt
plt.plot([1,3,2], [1,2,3])
您的问题是您的phase_min
未排序,并且matplotlib
正在尝试按顺序连接您的数据点。实际上,由于您已经获得了拟合函数,因此不需要使用原始数据来绘制函数。您只需定义要绘制线条的数据点,如下所示。通过这种方式,您可以拥有任意数量的数据点来绘制绘图,因此线条将比使用原始数据点绘制绘图更加平滑。
x=np.arange(0, 1, 0.001)
y=sinusoidal_function(x, *popt)
plt.plot(x,y)
关于python - 绘制点之间的连接线问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42419947/