如何将最好的mpld3和square / crossfilter合并为一个自定义插件?

时间:2014-09-11 04:29:59

标签: d3.js matplotlib mpld3

所以,我正在调查mpld3以获得一些更大的数据集(磁盘上约700MB),我可以使用square/crossfilter加载。有趣的是能够做类似的事情:

import matplotlib.pyplot as pl
import numpy as np
import mpld3

# data is a numpy recarray of city information, for example

fig, ax = pl.subplots(1,3)
n, bins, patches = ax[0].hist(data['population'], bins=10)
counts, edges_x, edges_y, im = ax[1].hist2d(data['land_area'], data['wealth'], bins=10)
points = ax[2].scatter(data['latitude'], data['longitude'])

然后能够在生成的直方图上进行拖动/滑动选择,以动态地改变其他两个图,只绘制通过选择的点。我的猜测是因为每个" city"之间没有联系。在这些情节中,这个问题可能太多了,而且完全使用d3会更容易吗?

1 个答案:

答案 0 :(得分:0)

我们传统上一直在指导人们远离mpld3来处理大型数据集,例如来自FAQ

  

mpld3适用于大型数据集吗?

     

简短回答:不是真的。与matplolib本身一样,Mpld3专为中小规模的可视化而设计,这不太可能改变。原因是mpld3建立在HTML的SVG的基础之上,它不是特别适合大型数据集。具有超过几千个元素的图形对交互式特征的响应会明显变慢。

但是,crossfilter可能是让mpld3能够很好地处理大数据的一般方法,如果你让它工作,请分享!