【问题标题】:add data to an existing histogram with python使用python将数据添加到现有直方图
【发布时间】:2017-03-10 12:38:22
【问题描述】:

作为我正在处理的项目的一部分,我需要在循环中将数据添加到直方图中。该项目的部分要求是我不使用数组来存储数据。这是我正在尝试做的伪代码:

import matplotlib.pyplot as plt #could by numpy if that works better

plt.hist(define histogram with n bins)

for i in range (bignumber):
     MCMC to find datapoint
     add point to histogram

plt.plot()

我遇到问题的代码是如何预定义没有数据的直方图,然后在生成时将数据附加到它。

【问题讨论】:

  • MCMC:马尔可夫链蒙特卡洛
  • 为什么不使用数组?您可以简单地创建一个带有零的数组(函数 numpy.zeros)并在循环中增加该数组的索引。索引号可以通过类似 numpy.searchsorted 的方式确定。
  • “不要使用数组存储数据”是一个很奇怪的要求。由于 Matplotlib 需要数组来绘制数据,所以几乎不可能没有。
  • 我也有同样的问题。想象一下,您有数十 TB 的数据,您需要在一组直方图中收集一些足够的数据统计信息(存储在数千个文件中),以执行进一步的数据分析。没有办法,您可以一次将所有数据加载到 RAM 中,然后创建直方图。您一次只能打开一个文件,并继续添加到现有直方图。

标签: python matplotlib histogram


【解决方案1】:

有点自我宣传(免责声明!)...对于可更新的直方图,您可以使用我的名为 physt 的库:https://github.com/janpipek/physt。收集完所有数据后,可以用类似matplotlib的方式绘制结果(其实后面就是用matplotlib)。

【讨论】:

  • 这看起来对我有用。我设法找到了解决问题的方法并完成了项目
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-08
  • 2020-03-18
相关资源
最近更新 更多