python - 基于两个 numpy 数组和 matplotlib 创建的奇怪图

标签 python numpy matplotlib

现在我只想根据两个 numpy 数组绘制一个折线图。我的 x 和 y 都是两个 (150,1) 数组。运行以下代码后:

plt.plot(x,y)

我得到的是: Line graph based on two numpy arrays

所以我很困惑。这些相连的线代表什么?我只想要一条穿过所有点的线。任何帮助将不胜感激!

<小时/>

对于数据集,X 只是一个固定的 (150,1) numpy 数组,y 根据以下多项式函数计算:

def PolyCoefficients(x, coeffs):
""" Returns a polynomial for ``x`` values for the ``coeffs`` provided.

The coefficients must be in ascending order (``x**0`` to ``x**o``).
"""
o = len(coeffs)
y = []
for i in range(len(x)):
    value = 0
    for j in range(o):
        value += coeffs[j]*x[i]**j
    y.append(value)
return y

系数已经计算出来,我想要的只是一条穿过 (x,y) 的每个点的线

最佳答案

xy 对代表图表上的点。使用 plt.plot(),您可以用一条线连接点。如果数组 x 不按顺序排列,那么您所拥有的就是一条在图形中前后移动的线。为了避免这种情况,您应该对 x 数组和 y 数组进行相应的排序。尝试使用:

new_x, new_y = zip(*sorted(zip(x, y)))
plt.plot(new_x,new_y)

关于python - 基于两个 numpy 数组和 matplotlib 创建的奇怪图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53441874/

相关文章:

python - Python/numpy/pandas 中函数 f(x,y) 结果的矩阵

python - 交互模式下的子图中的 imshow

python - Twisted:如何知道何时收到所有数据?

python - 如何为每个时期保存keras模型的权重?

python - 返回数组中子数组的索引

Python:将点分配给容器的更快或无循环方式?

numpy - Torch 广播如何为 (8, 8) @ (4, 8, 2) 工作?

python - 无法从另一个线程停止计时器(带有nidaqmx-python和回调的简短示例)

python - 删除 matplotlib 图中的空子图

python - 匹配字符串时对 pandas 中的行进行条件计数