gpt4 book ai didi

python - 用Python中的数据制作直方图

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:27 24 4
gpt4 key购买 nike

我正在尝试根据 .dat 文件中保存的数据制作直方图:我已经制作了其他类型的图,但是在尝试制作直方图时,我收到错误:ValueError: x 只有一个数据点。必须给出 bin 或 range kwarg。该表肯定有(许多)多个数据点!代码如下...

import numpy as  np
import matplotlib.pyplot as plt

a=open('/24_5_15b.dat','r')

header0=a.readline()

W1=[]
W2=[]

for line in a:
line=line.strip()
columns=line.split()
W1=float(columns[13])
W2=float(columns[15])

w1=np.asarray(W1)
w2=np.asarray(W2)

n, bins, patches = plt.hist(w1, 20, normed=1, histtype='bar', rwidth=0.8)

plt.show()

当我要求打印 w1 时,它会打印所有值。所有数字都是 float ——这会有所不同吗?谢谢...

最佳答案

从这个看起来,您正在尝试用第一行绘制直方图:

for line in a:
...
n, bins, patches = plt.hist(w1, 20, normed=1, histtype='bar', rwidth=0.8)

要制作直方图,您需要传递所有数据,而不是一次传递一个数据。

我也建议使用 genfromtxt 来实现此目的,您可以使用如下内容:

a = np.genfromtxt('/24_5_15b.dat')  # delimiter is " " by default
w1 = a[:,13]
w2 = a[:,15]

plt.hist(w1, ...)

关于python - 用Python中的数据制作直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30646358/

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