10 个图表库,承包了 2020 年你想要的酷炫

作者:凉皮

编辑:西西姐

封面图:侯爵老师



在这样的一个数据时代,很多事情都是靠数据说话,数据可视化可谓十分重要,一图胜千言。

我们精选了 10 个图表库,无论你是想快速上手做一个数据可视化的网站,还是想做一个汇总数据的仪表盘,又或者想在会议上更好的展示数据,都能在这里面找到最适合你的那一个 📈

D3.js 可以说是图表最全的库了,你能想到的图表类型这里都有。 

d3 效果

它也是 GitHub 上加星数最多的图表库,多达 89551 个 Star。这意味着你可以很容易找到一个别人写好的示例,然后改成自己想要的图表。

d3 效果

然而,D3 的缺点在于,它是 2011 年发布的,使用的是比较早期的前端方式来实现,大量依赖了 DOM 操作。如果你喜欢 JQuery,那你使用 D3.js 会很顺滑。然而这会让它与现代的前端框架有点格格不入。

d3 效果

并且 D3 依赖于绘制 SVG 图像,而不是使用 CSS,这就让它占用的内存会大一些。

如果你想使用的图表在其他库中找不到,那 D3 一定有。但如果你对网页内存的要求比较高,可以看看下面更为现代的图表库。

地址:https://d3js.org

如果你想15分钟以内写好一个图表,那就用 Chart.js 吧。

chart 效果

这是一个小巧的 JS 图表库,在 GitHub 上有 1427671 开发者在用。用 Chart.js 可以快速创建动画、交互式和可定义的图表,它允许用户将不同的图表类型混合在一起使用,它有开箱即用的动画效果,在更改数据、颜色时,都有一个动画过渡。

chart 效果

对初学者比较友好,容易设置,但是图表类型没有别的图表库那么丰富,适合想要快速运行简单图表的开发者。如果是另类需求的话,图表类型可能不够用。

chart 效果

它可以在 HTML5 Canvas上绘制出响应式的图表,在窗口大小改变的时候,重新绘制图表,以此调整缩放比率。

地址:https://www.chartjs.org/

Echarts 是百度前端技术部开发出来的一个纯 JS 的数据可视化库,它兼容现在的大部分浏览器,也可以流畅地运行在 PC 和移动端上。由于中文文档支持的很好,所以在国内的使用最多。

echarts 效果

在丰富的图表类型中,实现了的强大的三维可视化,像用 ECharts 普通组件那样使用 ECharts GL 就能绘制出三维的地球,建筑群和人口分布的柱状图等。

echarts 效果

在 4.0+版本新增的增量渲染技术,让 ECharts 能够展现千万级的数据量(一般情况下几千万的地理坐标数据存储会占用很大的空间),而在这个数据量级依然能够实现流畅的缩放平移等交互。

echarts 效果

地址: 

https://echarts.apache.org/zh/index.html

Highcharts 完全基于 HTML5,不用安装任何插件,或配置运行环境。

highcharts 效果

提供了丰富的图表类型,线图、柱形图、饼图、混合图等,还提供了股票走势图、高级时间轴图和丰富多样的地图,并且附带了很多预构建的图表,它还可以在图表中添加注释。

highcharts 效果

Highcharts 兼容性很强(IE6+),同时也能完美支持移动端触摸操作和手势缩放。

highcharts 效果

Highcharts 在 GitHub 上开源,但商用收费。

地址:https://www.highcharts.com

matplotlib 效果

Matplotlib 是第一个 Python 的数据可视化库,所以很多其他库都是在 matplotlib上构建的。适合用在科学计算领域。

matplotlib 效果

它非常强大,但也比较复杂,没有那么容易弄清楚,想要做出一个看起来还不错的图表,可能就需要写大量的代码。

matplotlib 效果

Matplotlib可以轻松地创建网格,标签,图例等,它的所有内容都是可以自定义的。

matplotlib 效果

地址:https://matplotlib.org

Seaborn 效果

Seaborn 是 Matplotlib 基础上建立的,但是在 GitHub上面的星星数要比 Matplotlib多,是本文推荐的 Python 图表库里最多星星的。

Seaborn 效果

如此受欢迎大概是因为 Seaborn 有惊人的默认主题,有了这些内置的默认样式和调色板,我们可以只用几行代码来创建复杂而且漂亮的图表。

Seaborn 效果

Seaborn只是 Matplotlib补充,而不是替代,在很多情况下,还是需要先学一下 Matplotlib 才能调整 Seaborn 相关的默认设置。

Seaborn 效果

地址:https://seaborn.pydata.org

bokeh 效果

Bokeh 基于网页的画图工具库,它的优势在于创建交互式图表,做出来的图表可以保存为 HTML文件。

bokeh 效果

它可做动图,也可以做仪表盘的排版,也可只打开一张表或者做图表的联动。

bokeh 效果

有三个不同的程度的接口,一是能快速创建常用图表;二是允许用户控制图表的基本模块,比如说散点图的点;三是没有预设的默认值,要求用户定义图表的每一个元素。

bokeh 效果

地址:

https://docs.bokeh.org/en/latest/index.html

Chartify 是Spotify 开源的一个 Python 图表库,建立在 bokeh 之上,和其他的图表库相比,它的语法更加简洁友好,API 比较直观易学,而且有非常详细的使用说明。

chartify 效果

不同的绘图方法往往需要不同的数据格式,从而要求用户完全重新格式化输入的数据。这导致我们需要花费大量时间将数据操纵到合适的图表上,但是 Chartify 能解决这个问题,它是输入一致的数据格式,可以让你快速创建图表,而且它的预设图表就很漂亮,不用你花费很多的时间来配置美观的图表。

Chartify 灵活性高,如果需要较复杂的绘图功能,可以调用 bokeh 的 API 来操纵 Chartify。

chartify 效果

地址:https://pypi.org/project/chartify

Plotly 是一个用于数据可视化的在线平台,Plotly 的团队也维护着用于 R,Python和 JS 的开源的可视化库,像 Bokeh 一样,Plotly 的强项也是制作交互式绘图。

plotly 效果

Plotly Dash 可以将我们用 plotly 画出的图通过交互式可视化的方式表达出来,在 web 浏览器中呈现。

plotly 效果

Plotly.js 有 40多种图表类型,包括 3D 图表,统计图和 SVG 地图。它大多数绘图都是用 SVG 绘制的,这一点为跨浏览器、矢量图像导出提供了很大的兼容性。

plotly 效果

Plotly.py 内置在 Plotly.js 之上,它可以在 Jupyter 笔记本和独立 HTML 文件中查看图表,还提供了一些别的库没有的图表类型,比如树状图、轮廓图等。

地址:https://plot.ly

infogram 是一个可以在线做图表的平台,只需几分钟,你就可以创建出比较好看的图表,如果想要不敲代码也能做出美观的图表,那这个 infogram 是一个不错的选择。

infogram 效果

地址:https://infogram.com

总结:

👀最易上手奖 Chart.js

如果你时间有限,那 chart.js 绝对是你的最佳选择。

🍻终身成就奖 D3.js

如果你爱 jQuery 那么你也会爱死了 D3.js,你要记得有那么个年代它撑起了图表界的半边天。

👩🏻‍🎓专业精神奖 Matplotlib

感谢 Matplotlib 在科学计算图表领域带来了容易使用以及最细致入微的文档。

😈十项全能奖 Plotly

能力越大责任越大,能做的这么多,用起来稍微复杂一点也不是什么问题,你说是吧?

😺最佳新人奖 Chartify

如果你会用 Python,那么你就会用 chartify。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容