gpt4 book ai didi

python - 如何在 pylab 中的 nan 上插入行?

转载 作者:行者123 更新时间:2023-12-01 06:00:35 24 4
gpt4 key购买 nike

Pylab 在数据中有 nan 的地方插入换行符。我怎样才能获得连续的线条。我认为 matlab 会自动执行此操作。

示例:

x = linspace(0,1,10)
y = rand(10,2)
y[5:8,1] = nan
plot(x,y,'.-')

我希望对 y[:,1] 进行插值,但不希望对 y[:,0] 进行插值,因为没有缺失点。

最佳答案

选择没有nan的行

from pylab import isnan
boolind = ~isnan(y).any(1)

然后做

plot(x[boolind], y[boolind])

如果您想要线性插值中的值来替换该 nan,您只需记录该 nan 的位置并使用相邻点进行插值,但我认为出于绘图目的,只需消除 nan 数据点就足够了 - 代码无论如何都会为您进行线性插值。

顺便说一句:大概你的 y = rand((10, 50)) 应该是 y = rand(10, 50),尽管我不确定你为什么想要相对于一维绘制二维数组。

编辑

对于您的特定问题,您可以简单地分别绘制 y 的两列

from pylab import *
x = linspace(0,1,10)
y = rand(10,2)
y[5:8,1] = nan
boolind = ~isnan(y)
plot(x[boolind[:,0]],y[boolind[:,0], 0],'.-')
plot(x[boolind[:,1]],y[boolind[:,1], 1],'.-')
show()

enter image description here

关于python - 如何在 pylab 中的 nan 上插入行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660144/

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