当我尝试制作不包含零值的直方图时,出现错误:
Traceback (most recent call last):
我有一个Beam_irradiance_DNI
值的列表,其中包括几个零。我可以制作直方图,但我不想要零值。
import matplotlib.pyplot as plt
import numpy as np
import csv
# Reading data from csv file
with open('Upington_DNI.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
Hour_of_year = []
Beam_irradiance = []
for row in readCSV:
hour = row[0]
DNI = row[1]
Hour_of_year.append(hour)
Beam_irradiance.append(DNI)
Hours_since00hrsJan1 = [float(Hour_of_year[c]) for c in range(1,len(Hour_of_year))]
Beam_irradiance_DNI=[float(Beam_irradiance[c]) for c in range(1,len(Beam_irradiance))]
plt.figure(3)
Beam_irradiance_DNI[ Beam_irradiance_DNI==0 ] = np.nan
plt.hist(Beam_irradiance_DNI, color="grey")
plt.title("Histogram for Beam irradiance - DNI")
plt.xlabel("Beam irradiance - DNI [W/m2]"); plt.ylabel("Probability of occurrence")
plt.show()
我不知道这里出了什么问题。
abs(val)< epsilon
。此外,您可以仅抓取非零值并创建新数组,而不是用NaN替换。然后您就不会修改原始数据。另外,看起来您的变量为空... - Suever