用于数据可视化的最佳工具/编程语言

时间:2011-06-15 08:44:28

标签: data-visualization

到目前为止,我主要使用excel绘制我使用PHP从MySQL检索的任何数据, (偶尔会有像HighCharts这样的JS库来绘制数据)。 当我想要更复杂的图表/可视化或者有很多记录(excel得到slooooow)时,这不是一个真正的选择,所以我正在寻找替代方案。但是,有很多选择!我已经下载并尝试了几次R和Processing之类的东西,但我不相信这是“正确”以一种很好的方式绘制数据的正确工具。

所以......我很好奇这里有关最佳出路的意见。学习Python?真的深入Java /处理?还有其他选择吗? (或坚持使用PHP,你有一个真正灵活的图形库?;))

7 个答案:

答案 0 :(得分:4)

我认为Python非常适合快速和丰富的数据处理。

答案 1 :(得分:2)

我个人认为Incanter是一个很棒的工具集,我可以衷心推荐(我在自己的项目中使用它进行可视化)。

它是Clojure的统计计算和可视化库 - 它又是一个非常强大,灵活和动态的语言,特别适用于数据交互式实验

好的功能:

  • Numerics由parallel colt
  • 提供
  • 使用非常全面的JFreeChart library
  • 生成图表
  • 它还使用Processing进行一些可视化
  • Clojure本身就是一种很好的数据处理和探索语言
  • 与Java的Interop非常好,因此您可以轻松使用任何Java库(用于数据库访问,Web服务,消息队列集成,网络等)。

我特别喜欢用于创建图表的DSL,例如从正态分布中创建1000个样本的直方图:

(view (histogram (sample-normal 1000)))

答案 2 :(得分:1)

我认为incanter clojure库可用于统计和数据可视化。 clojure功能齐全,在数据处理和分析方面非常出色

答案 3 :(得分:1)

我强烈建议您使用Vega-Lite和Vega,从您选择的任何语言进行数据可视化。 Vega-Lite和Vega是根据图形语法的思想设计的,该思想启发了R的流行ggplot2库。核心思想是,应根据有关数据属性如何映射到数据可视化的声明性描述来构建数据可视化。但是,Vega-Lite和Vega在提供 interaction 语法方面又向前迈进了一步,该语法可用于构建交互式数据可视化和复杂的资源管理器视图。此外,在GG的声明性方面,Vega-Lite和Vega规范被描述为纯数据(JSON),这增加了前期准备。因此,任何可以合理地以JSON为目标的语言都可以以Vega-Lite&Vega为目标。

Vega-Lite或多或少是杠杆更高的,日常的数据科学工具,致力于基于非常简明的规范提供高杠杆率和自动化。它可以编译为Vega,这是Vega-Lite的较低级别且功能更强大但自动化程度较低的版本。通常从Vega-Lite开始,然后仅根据需要切换到Vega就足够了。

有关Vega和Vega-Lite的更多信息,请参见:https://vega.github.io

最后一点,我要表达对mikera和Ravinder Ram的看法,即Clojure是数据科学的一门伟大语言,并且随着新的机器学习库(例如MXNet仅recently got Clojure support )。如果您要这么做,现在还支持大多数现代科学笔记本环境(Jupyter,Nextjournal和Gorilla REPL)。

如果您想使用Clojure或ClojureScript中的Vega-Lite或Vega,您可能希望查看我编写的一个小的但灵活的包装库,称为Oz:

https://github.com/metasoarous/oz

如果您有兴趣使用Vega-Lite或其他语言的Vega,则有很多选择,因为包装起来很简单(例如Python,R,React)。

答案 4 :(得分:0)

Python,Octave,C / C ++等。有很多库可以为每个库进行绘图。

我可以推荐GPL绘图库MathGL及其前端UDAV。最后一个有绘图的另一种命令语言。

答案 5 :(得分:0)

R语言主要用于数据科学 - 您可以进行复杂的数学数据处理并构建预测模型,但它既不会帮助您方便,也不会提供易于使用的图形。我不认为你需要Java,除非你有一些复杂的业务逻辑或多线程。

所以我建议坚持使用Python - 它非常方便数据处理,易于学习。实际上,使用数据是Python的优势。您还可以选择multiple(链接是一个很好的编译,在Internet上找到它)数据可视化库或在顶部尝试javascript。不要害怕,祝你好运!

答案 6 :(得分:0)

我个人开始使用Python + D3.js

Python是处理数据的绝佳技术 - 以不同格式管理,转换和输出。

D3.js是一个很棒的数据可视化库。它比起初看起来容易得多。网上有很多例子可供选择。最棒的是,您可以制作交互式图表,以便在钻取时显示不同的视图或不同级别的数据。