python - 绘制点之间的连接线问题

标签 python matplotlib plot line

尝试使用 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])

enter image description here

您的问题是您的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/

相关文章:

matplotlib - 绘图将文本输出为路径,并且无法通过 Inkscape 转换为 LaTeX

r - 根据值填充曲线下面积

python - 正则表达式替换由管道分成一部分的单词

python - 在 matplotlib 中禁用 tex 解释器

python - Odoo 8.0 (OpenERP) 创建自定义模块 - 如何将数据保存到模型?

python - 如何在pyplot极坐标中标记x轴超过8个点

r - 在 R 中绘制的轴(x 轴)中的希腊字母序列

javascript - 如何绘制隐式函数?

python - 确定字符串是否为等值图

python - 如何根据scrapy中本周的日期获取上周作为开始日期和结束日期