pythonplt.绘图不完全索引

2024-05-15 13:59:00 发布

您现在位置:Python中文网/ 问答频道 /正文

p = [] 
for i in range(len(f)):
    p.append(peakdetect(H, 0.1)) 
plt.plot(Freq[p], f)

因为整个代码很复杂,所以我只附加了bug所在的部分。你知道吗

我想画一个关于Freq和f的图,p是下面的索引

[[126, 269, 409, 542],
 [145, 288, 427, 558],
 [162, 305, 443, 572],
 [177, 320, 457],
 [191, 334, 471],
 [204, 347, 483],
 [217, 359, 494],
 [228, 370, 504],
 [238, 380, 513],
 [248, 389, 521],
 [257, 398, 528],
 [265, 406, 535],
 [273, 414, 541],
 [280, 421, 546],
 [287, 428, 551],
 [294, 434],
 [300, 440],
 [306, 445],
 [312, 451],
 [317, 455],
 [322, 460],
 [327, 464],
 [331, 468],
 [336, 472],
 [340, 476],
 [344, 479],
 [348, 482],
 [351, 486],
 [355, 488],
 [358, 491],
 [361, 494],
 [364, 496],
 [367, 498],
 [370, 500],
 [373, 502],
 [375, 504],
 [378, 506],
 [380, 507],
 [383, 509],
 [385, 510],
 [387, 511],
 [389, 512],
 [392, 513],
 [394, 514],
 [395, 515],
 [397, 515],
 [399, 516],
 [401, 516],
 [403],
 [404],
 [406],
 [408],
 [409],
 [411],
 [412],
 [413],
 [415],
 [416],
 [417],
 [419],
 [420]]

其中

f[0] corresponds to [126, 269, 409, 542]
f[1] corresponds to [145, 288, 427, 558]
f[2] corresponds to [162, 305, 443, 572]
f[3] corresponds to [177, 320, 457]
f[4] corresponds to [191, 334, 471]

...

你看,list p没有完成4列,所以当我运行它时,它显示错误:只有整数、片(:)、省略号(...),numpy.newaxis公司(None)和整数或布尔数组是有效的索引。

所以我认为有一种方法是不加任何限制地完成本专栏的其余部分,但我不确定。另一种方法是对列进行切片,但是使用列表字符,很难操作。你知道吗

peakdetect(H,0.1)是一个自定义函数。不用担心。你知道吗


Tags: to方法代码inforlenplotrange
1条回答
网友
1楼 · 发布于 2024-05-15 13:59:00

使用pandas您的问题非常容易解决:

import pandas as pd
a = [[126, 269, 409, 542],
 [145, 288, 427, 558],
 [162, 305, 443, 572],
 [177, 320, 457],
 [191, 334, 471],
 [204, 347, 483],
 [217, 359, 494],
 [228, 370, 504],
 [238, 380, 513],
 [248, 389, 521],
 [257, 398, 528],
 [265, 406, 535],
 [273, 414, 541],
 [280, 421, 546],
 [287, 428, 551],
 [294, 434],
 [300, 440],
 [306, 445],
 [312, 451],
 [317, 455],
 [322, 460],
 [327, 464],
 [331, 468],
 [336, 472],
 [340, 476],
 [344, 479],
 [348, 482],
 [351, 486],
 [355, 488],
 [358, 491],
 [361, 494],
 [364, 496],
 [367, 498],
 [370, 500],
 [373, 502],
 [375, 504],
 [378, 506],
 [380, 507],
 [383, 509],
 [385, 510],
 [387, 511],
 [389, 512],
 [392, 513],
 [394, 514],
 [395, 515],
 [397, 515],
 [399, 516],
 [401, 516],
 [403],
 [404],
 [406],
 [408],
 [409],
 [411],
 [412],
 [413],
 [415],
 [416],
 [417],
 [419],
 [420]]

df = pd.DataFrame(a)
df.plot()

enter image description here

相关问题 更多 >