使用matplotlib在Python中的直方图

时间:2012-07-12 18:57:45

标签: python matplotlib histogram

我正在尝试制作直方图,并且我一直在进行一些搜索并尝试找到正确的代码,但我尝试的所有内容都没有结束。这是我现在的代码,

import matplotlib.pyplot as plt
import numpy as np

with open('gaubg.csv') as f:
       v = np.loadtxt(f, delimiter= ',', dtype="float", skiprows=1, usecols='None')

plt.hist(v, bins=100)
plt.xlabel("G-r0")
plt.ylabel('# of stars')
plt.title("Bottom half g-r0")

plt.show()

gaubg.csv是一个csv文件,其中包含大约600,000个(浮点数,而不是int数据)数据点,这些数据点与星的颜色有关。每次我通过python运行它,这是显示

的错误消息
  

追踪(最近一次通话):        文件“gaub.py”,第5行,in           v = np.loadtxt(f,delimiter =',',dtype =“float”,skiprows = 1,usecols ='None')         在loadtxt中输入文件“/sdss/ups/prd/numpy/v1_6_1/Linux/lib/python2.7/sitepackages/numpy/lib/npyio.py”,第794行           vals = [vals [i] for i in usecols]       TypeError:list indices必须是整数,而不是str

我不知道这意味着什么。我一直在尝试修复代码,但我不确定如何。如果你能指出明显的错误,我将不胜感激!

1 个答案:

答案 0 :(得分:4)

usecols= 'None' 

应该是

usecols= None

或者您可以完全跳过添加usecols参数。当你指定一个字符串numpy试图迭代每个字符时假设它是一个整数。