【问题标题】:Histograms in Python using matplotlibPython中使用matplotlib的直方图
【发布时间】:2012-07-12 14:39:57
【问题描述】:

我正在尝试制作直方图,并且我一直在进行一些搜索并尝试找到正确的代码,但我尝试的所有方法最终都无法正常工作。这是我现在的代码,

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 个(浮点数,而不是整数)数据点,这些数据点与星星的颜色有关。每次我通过 python 运行它时,都会出现这个错误消息

Traceback(最近一次调用最后一次): 文件“gaub.py”,第 5 行,在 v = np.loadtxt(f, delimiter= ',', dtype="float", skiprows=1, usecols='None') 文件“/sdss/ups/prd/numpy/v1_6_1/Linux/lib/python2.7/sitepackages/numpy/lib/npyio.py”,第 794 行,在 loadtxt vals = [vals[i] for i in usecols] TypeError: 列表索引必须是整数,而不是 str

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

【问题讨论】:

    标签: python matplotlib histogram


    【解决方案1】:
    usecols= 'None' 
    

    应该是

    usecols= None
    

    或者您可以完全跳过添加usecols 参数。当您指定一个字符串时,numpy 尝试遍历每个字符,并假设它是一个整数。

    【讨论】:

      猜你喜欢
      • 2013-04-27
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 2016-12-18
      • 2017-06-29
      相关资源
      最近更新 更多