13

我是 Python 新手,并且已经阅读了几本关于它的书籍。一切都很棒,除了可视化。我真的不喜欢 matplotlib 和 Bokeh 需要太重的堆栈。

我想要的工作流程是:

在 ipython notebook 中使用 pandas 进行数据处理分析 -> 在 sublimetext2 中使用 d3 进行可视化

但是,作为 Python 和 d3 的新手,我不知道将我的 pandas 数据框导出到 d3 的最佳方法。我应该把它作为一个csv吗?JSON?还是有更直接的方法?

附带问题:是否有任何(合理的)方法可以在 ipython 笔记本中完成所有操作,而不是切换到 sublimetext?

任何帮助,将不胜感激。

4

2 回答 2

5

基本上没有适合您所有可视化需求的最佳格式。

这实际上取决于您想要获得的可视化效果。

例如,堆积条形图将 CSV 文件作为输入,而邻接矩阵可视化采用 JSON 格式。

根据我的经验:

  • 为了显示项目之间的关系,比如邻接矩阵弦图,人们会更喜欢一种 JSON 格式,它只允许描述现有的关系。数据存储在稀疏矩阵中,并且可以使用字典嵌套多个数据。此外,这种格式可以直接在 Python 中解析。
  • 要显示项目数组的属性,可以使用 CSV 格式。一个完美的例子可以在这里找到一个平行图表显示。
  • 要显示分层数据,如树,JSON 最适合。

帮助您确定所需的最佳格式的最佳方法是查看此 d3js 库

于 2014-05-14T16:43:14.733 回答
1

您可以直接在 Jupyter / Ipython 内部使用 D3。试试下面的两个链接..

http://blog.thedataincubator.com/2015/08/embedding-d3-in-an-ipython-notebook/

https://github.com/cmoscardi/embedded_d3_example/blob/master/Embedded_D3.ipynb

于 2017-01-04T15:47:46.323 回答