可视化/画图工具推荐

图形在数据科学里的重要性无需赘言,所谓“一图胜一言”。笔者将在本文总结用过的一些画图工具,作为大家以后在选择画图解决方案的一个参考。

所见即所得式画图工具

此类工具适合绘制非结构化的数据,比如流程图。

  • draw.io
    这个一个国外的免费画图网站。(国内访问可能需要翻墙。)界面是这样的:
  • ProcessOn
    这是国内出的一个在线绘图网站,还有实时协作的功能。支持流程图,思维导图,原型图,UM,网络拓扑图等。它的界面如下:
  • Visio
    Visio是微软出的一款绘图软件,现在是Office的一部分。微软的软件开发能力大家都懂得!唯一的缺点是收费。
  • Excel
    Excel大家都不陌生,就不赘述了。

编程类

  • Matplotlib
    Matplotlib是Python下绘图的首选,用它可以绘制出高品质的图像。可以在这个页面gallery先睹为快。Matplotlib有完善的文档,可以参考根据文档里的例子很快地实现你要画的图像。下面是几个简单的例子:

  • ggplot2
    ggplot2是R下绘图的标配,不二之选。

  • MATLAB
    MATLAB是一个优秀的商业软件,它的绘图能力同样强大。

  • D3
    D3是一个前端的绘图框架。有些情况下,网页是很好的图像呈现方式。因为可以开发一些可互动的可视化效果。

  • tikz
    tikz是LaTex下非常强大的画图宏包。不过感觉只适合极客/科研党,因为本身用LaTex写作的人就少。查看Example。下面是官方的一个例子:

  • SVG
    SVG 意为可缩放矢量图形(Scalable Vector Graphics)。SVG 使用 XML 格式定义图像。
    下面是SVG矩形的一个例子
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

    <svg width="100%" height="100%" version="1.1"
    xmlns="http://www.w3.org/2000/svg">

    <rect width="300" height="100"
    style="fill:rgb(0,0,255);stroke-width:1;
    stroke:rgb(0,0,0)"/>

    </svg>