互联网
设计
数据分析
数据可视化
图表

有哪些值得推荐的数据可视化工具?

本题已加入圆桌 数据分析入门指南 ,更多数据分析内容,欢迎关注圆桌>>>类似于用图形来展示报告结果。
关注者
53,294
被浏览
6,302,570

636 个回答

前阵子在Coursera上了infographic的课(

coursera.org/learn/info

),课上涉及了几个,觉得应该适用于对编程语言不熟悉也不大会用AI的小朋友

Plotly

很方便的一点是和R, python, Excel等常见的数据处理软件/语言之间都是有API接过去


Datavisual


Infogra.am


下面这几个应该比较符合大家对infographic的普遍预期,相比传统的数据可视化要有趣很多

PiktoChart


Easel.ly


著名的tableau的public version

Tableau Public


Visme

Visme有个Blog非常好,很多人特别在意infographic是因为觉得表现形式看起来特别高级,其实内在的思路非常重要,要养成如何正确看待数据、发现数据之间的内在联系的好习惯

Visual Learning Center by Visme, Infographics & Presentation Resources


Canva

偏图形设计,其实适合用来做Presentation多一点,也可以用于infographic后期的美化


*免费账号的模版应该就够用了,如果日常工作有特别强的需求的话,再考虑付费版本

编辑于 2016-07-27 09:38

谢邀。

本答案提要:

1.plotly

2.R ggplot2

3.无需编程语言的工具(7个)

4.基于JavaScript实现的工具(8个)

5.基于其他语言的工具(5个)

6.地图数据可视化工具(7个)

7.金融(股票)数据可视化工具(2个)

8.时间轴数据可视化工具(2个)

9.函数与公式数据可视化工具(2个)

10.其他(3个)

共计37个工具,PS:先赞后收藏。。

-----------

1.plotly:

-----------

更多gallery链接: plotly


-----------------
2.R ggplot2:

-----------------








--------------------------------

3.无需编程语言的工具:

--------------------------------

01. Tableau

Create and share data in real time with Tableau


02. Raw

Raw is an open web app with a simple interface

03. Infogram

Infogram enables you to create both charts and infographics online

04. ChartBlocks

ChartBlocks is another online chart builder

05. Visualize Free

Make visualizations for free!

06. Visual.ly

Visual.ly makes data visualisation as simple as can be

07. iCharts

iCharts can have interactive elements, and you can pull in data from Google Docs

-----------------------------------------

4.基于JavaScript实现的工具:

-----------------------------------------

01. Chart.js

Chart.js is perfectly suited to smaller projects

02. D3.js

You can render some amazing diagrams with D3

03. FusionCharts

A comprehensive JavaScript/HTML5 charting solution for your data visualization needs

04. JavaScript InfoVis Toolkit

JavaScript InfoVis Toolkit includes a handy modular structure

05. jQuery Visualize

jQuery Visualize Plugin is an open source charting plugin

06. ZingChart

ZingChart lets you create HTML5 Canvas charts and more

07. Flot

Create animated visualisations with this jQuery plugin


08. Gephi

Gephi in action. Coloured regions represent clusters of data that the system is guessing are similar

--------------------------------------

5. 基于其他语言实现的工具:

--------------------------------------

#PHP

01. jpGraph

01234567 (二维码自动识别)

jpGraph is a PHP-based data visualization tool

#JAVA


02. Processing

Processing provides a cross-platform environment for creating images, animations, and interactions

#Python


03. NodeBox

NodeBox is a quick, easy way for Python-savvy developers to create 2D visualisations

#R


04. R

A powerful free software environment for statistical computing and graphics, R is the most complex of the tools listed here

#Weka

05. Weka

A collection of machine-learning algorithms for data-mining tasks, Weka is a powerful way to explore data

-----------------------------------

6. 地图数据可视化的工具:

-----------------------------------


01. CartoDB

CartoDB provides an unparalleled way to combine maps and tabular data to create visualisations

02. InstantAtlas

InstantAtlas enables you to create highly engaging visualisations around map data

03. Polymaps

Aimed more at specialist data visualisers, the Polymaps library creates image and vector-tiled maps using SVG

04. OpenLayers

It isn't easy to master, but OpenLayers is arguably the most complete, robust mapping solution discussed here

05. Kartograph

Kartograph's projections breathe new life into our standard slippy maps

06. Exhibit

Exhibit makes data visualization a doddle


07. Modest Maps

Integrate and develop interactive maps within your site with this cool tool

08. Leaflet

Use OpenStreetMap data and integrate data visualisation in an HTML5/CSS3 wrapper

-----------------------------------

7. 金融数据可视化的工具:

-----------------------------------


01. Dygraphs

Help visitors explore dense data sets with JavaScript library Dygraphs

02. Highcharts

Highcharts has a huge range of options available

-----------------------------------

8. 时间轴数据可视化工具:

-----------------------------------

01. Timeline

Timeline creates beautiful interactive visualizations

02. Dipity

Dipity has free and premium versions to suit your needs

-------------------------------------

9. 函数公式数据可视化工具

-------------------------------------


01. WolframAlpha

Wolfram Alpha is excellent at creating charts

02. Tangle

Tangle creates complex interactive graphics. Pulling on any one of the knobs affects data throughout all of the linked charts. This creates a real-time feedback loop, enabling you to understand complex equations in a more intuitive way

------------

8. 其他:

------------


01. Better World Flux

Making the ugly beautiful - that's Better World Flux

02. Google Charts

Google Charts has an excellent selection of tools available

03. Crossfilter

Crossfilter in action: by restricting the input range on any one chart, data is affected everywhere.

编辑于 2016-12-01 14:50

可能回答得不是很切题,但是适用于习惯/想要用R、python等(统计)软件做数据可视化,尤其是画有交互功能的图的盆友们,你萌可以参考下我的推荐,蟹蟹。图片均来源于网络,侵删。

以R为例。

----------如果你只是单纯地想画几张(好看的)图---------

  • 首推 plotly,谁用谁知道

pros:光标移到某一个数据点都会显示具体内容(当然现在很多包都可以做到这点);可以任意拖拽,放大缩小;下载图片等功能(下图右上角)

cons:参数太多(这也能算缺点??)导致语法略冗长;但另一方面也非常灵活,可以任意customize

tips:怎么学一个功能特别强大的新的r包?答:跟着栗子学。。。用熟了之后可以自行阅读reference或者source code

  • 然后推 ggplot2

相信大家都很熟悉,就说一点,如果你用惯了ggplot2,只需要再加一行命令即可变成plotly的对象,实现hover/select/zoom in/download等等功能

p <- ggplot(data = d, aes(x = carat, y = price)) +
  geom_point(aes(text = paste("Clarity:", clarity)), size = 4) +
  geom_smooth(aes(colour = cut, fill = cut)) + facet_wrap(~ cut)

ggplotly(p)

接下来是几个辅助的(小众)包

  • rbokeh
Bokeh

是一个基于python的数据可视化library,提供各种接口。甩一个作者在userR 2016上的屁屁踢链接,里面有二十个栗子,五分钟可以过完

rbokeh by Ryan Hafen

pros:有个别的图比plotly画的好,如hexbin(蜂窝图?);能画一些非常炫酷的图,(分别是屁屁踢里面的例10和例9;当时我就吓尿了;关键是要会javascript;但其实对实际的工作学习没什么帮助)

cons:大部分功能plotly可以完全cover,而且hover和select功能不是每一幅图都有

  • GGally,ggplot2的延伸

推荐给学统计的童鞋们,非常适合简单粗暴的exploratory analysis,说几个例子。

顺便安利下

broom

这个包,相信大家在学线性回归的时候都需要从summary里面取参数的估计值啊、p值啊、R方等等信息,这个包让这个过程异常方便,自动返回data frame噢~真的很节省时间。然后配合ggcoef命令,下图可视化了估计的参数和置信区间,p值的大小体现在圆点的size上



还可以根据数据的类型,画不同的图展示变量之间的两两关系,自动出correlation

  • 还想更特别一点嘛,自定义 ggplot2 themes吧

不想读那么长的reference?没事,看看别的公司怎么做的,还是那个道理,找个栗子学就好了嘛。。。

ggtech

上有几个简单的themes,可以更改背景、字体(大小)、默认颜色等等


-------------画完了图,你想展示?--------------

  • 以图表为主,推荐 flexdashboard

- 它其实是由rmarkdown文件、knit成的html页面,但是模样是个dashboard,自由设置layout;

- 有一个storyboard的layout,和tableau里面那个一毛一样;

- 支持各种数据可视化交互,可以添加shiny components;

- 觉得table违和,可以用data.table(这又是一个神器)


------------展示完了,想分享给别人?-------------

先留个白。。。个人版的shiny可以上传三个到server,html页面更是想放哪放哪。但总的来说,分享不是一件非常方便的事情(至少没有其他BI软件方便,还能订阅)。有个新东西叫

RStudio Connect

,貌似会逐渐解决这个问题,我正在研究中,欢迎大神给我支招。


----------看看别人家的公司是怎么做可视化的-----------

纯分享一些use cases,不仅仅使用R做的(嗯,有的我也不知道怎么做的)

  • FiveThirtyEight:Data Journalism Site

- 再次甩一个userR 2016的视频链接

FiveThirtyEight's data journalism workflow with R

,是此次会议的视频点击率排行第一噢~

- 一个新闻网站有github、公布数据和代码你敢信???

GitHub - fivethirtyeight/data: Data and code behind the stories and interactives at FiveThirtyEight

- 这真的是“用数据讲故事”了,不过作图和解读的应该是两拨人

- 当然他家(目前)最出名的还是创始人神一样的预测上次大选结果,这里丢一个wiki

Nate Silver

,拭目以待这次的结果


  • Second Spectrum

这个简直炸裂!!!第一次看了几段demo,连我这个对于球类一窍不通的人都热血沸腾!!!必须看视频才能体会!!!再次甩一个TED TALK

Rajiv Maheswaran: The math behind basketball's wildest moves

好了我冷静下来了,这个公司主要是采集比赛过程中的信息,以篮球为例,球员运动啊、球的轨迹啊都是数据点,然后收集了很多很多场的数据之后呢,把他们可视化(真的超级炫酷),然后做分析。分析什么呢?自家球员和竞争对手的优劣啊!!!好像还能算某种情形下投篮的命中率???所以,球队想给他钱,电视台体育频道也想给他钱(如下图,主播点点屏幕就能交互了,截图到蜜汁兰花指。。。)


待续待续!

后记:心疼我自己,电脑上格式好好的,手机上有几段空行显示地不对劲,改了好几次也没解决……强迫症伤不起啊,读了好几遍确认没有错别字和不通顺 -_-|||

编辑于 2016-07-30 17:00

全文30000字,阅读需30分钟,干货预警,收藏点赞退出一气呵成!

强烈推荐安利Excel这个工具,看到回答 区提供了不少数据可视化的工具,例如R、Python、第三方在线工具等等,但是绝大部分对于初学者非常不友好,需要花大量时间去学习,研究,更新多一个小视频(2020.01.03二次更新多仪表盘的制作技巧):

Excel能做出怎样的可视化图表?https://www.zhihu.com/video/1175820255817097216

为什么推荐Excel,因为以下几点:可制定、学习起来简单、兼容性极强、普遍性等等。

课程传送门(学完点个5星即可)
Excel实战篇,让你的图表动起来 - 网易云课堂
未经允许,禁止转载,更多Excel教程、模板,可以前往公众号:芒种学院

在学习可视化数据分析的过程中,总结了非常多的经验,借着这个话题分享给大家,因为篇幅问题,整理好的教程都放在链接中了,先来看下整体的技能树:

技能树

以下是部分基础案例:

基础图表
Excel商务仪表盘
Excel商务仪表盘

接着就来聊聊我学习Excel数据可视化的一个过程:

01 优秀图表所具备的特征

工具千千万万,优秀的图表具备的特征都非常明显,合理了解这些特征,哪怕使用任何可视化工具,都可以制作出非常棒的可视化效果,主要知识点:从哪里学习图表风格、一份图表需要具备哪些元素、如何在Excel中设定自定义风格、如何安装商务字体、如何设置新建模板为主题等等。

1.1 从哪里学习图表风格

在可视化图表非常流行的今天,形成了不少非常具有特色的风格,例如商业杂志,经济学人,扁平化风格等等,那么有哪些网站可以借鉴我们利用到Excel中呢?

包括第三方在线工具、商业杂志、设计师网站等等这些风格都可以借鉴,学习风格是为了帮我们更快更好制作出好看的图表。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

1.2 优秀的可视化图表需要具备哪些元素

在了解完商务Excel图表风格之后,还需要了解这些图表的共性,每一份图表之中有什么不可缺少的元素,例如:标题、logo、图例、底色/网格线、坐标轴、脚注、注释等等。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

1.2 设置Excel自定义配色方案

在Excel中将配色方案设置为4种,分别是:序列配色、背景配色、文字配色、logo/边框配色,为这4种不同的场景设置配色。

其中配色卡长这个样子,通过设定不同的标记和填充值,在使用的时候,直接输入RGB的值就可以了:

为了方便大家观察,特意绘制了一份填充对照图:

使用不同的配色主题,可以一键更换成其他的风格,例如这种:

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

1.4 安装免费可商用的字体包

影响图表美观大方的因素还有字体,Excel中制作的图表是调用本地的字体,所以只需要将字体安装在本地电脑即可,安装的办法也非常简单,下载字体包,直接双击即可,这里使用“思源黑体”系列。

在安装完字体之后,在Excel的【页面布局】选项卡下设置【自定义字体】风格,将标题和内容均改为思源黑体系列,并且设置一个简约的风格。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

1.5 设置自定义模板为启动新建文件

为了方便Excel在每次新建文件的时候可以使用我们自定义的主题,可以将前面设置的主题保存起来,然后新建一份空白文档,选中自定义的主题,然后保存为【.xltx】模板文件,并且放置于启动目录下,这样新建的文档默认就是这个风格了。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

02 基础必学的Excel可视化图表技巧

制作一份优秀的可视化图表,离不开牢固的基础,主要知识点:界面与图表功能、内置图表功能、单元格作图、文本框作图、Excel锚点、链接图片、图表模板等。

2.1 Excel基础图表功能与界面认识

Excel关于图表的知识点不多,只需要了解:设计选项卡、格式选项卡、数据系列格式、坐标轴格式、网格线等等即可,知识点整理如下:

配合前面所学的配色主题,能制作出这样的图表:

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

2.2 利用内置图表完成商务作图

内置图表包括了:柱状图、条形图、饼图、雷达图、折线图、堆积图、散点图等等大概十多种图表,99%的可视化图表都可以使用内置的图表来完成。

绘制图表的第一要素就是,分析数据适合使用什么图表,如果数据结构不够优良,那么可以尝试修改数据结构,例如下图的数据为占比分析,那么就可以使用“饼图/圆环图”。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

2.3 利用单元格完成作图

地方在Excel中,一个绘图区只能绘制一组图表,如果想绘制多组,制作成信息卡片的样子,那么就可以尝试使用单元格来进行作图。例如下方的数据:

如果想要展示营收的同时,也想展示占比,使用组合图的效果又不好,那么就可以来尝试利用单元格绘制“符合图表”,例如这样子的:

看着是一个图表,实际上是单元格+图表的构成,并且数据还会动态实时刷新,这也是Excel制定化程度非常高的一个原因(取消网格线,通过链接图片的方式让单元格组成一个整体)。

单元格作图

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

2.4 利用文本框作图

在Excel中文本框也可以利用来作图(WPS不可以),文本框通过编辑栏,可以实现对单元格的引用,这样可以非常方便地将文本框嵌入到图表中,然后动态引用数据。

在绘制图表的时候除了要展示图表的数据之外,我们有时候还需要一些辅助的指标数据,如下:

原始数据+指标数据作图

如果要将辅助信息也写入到图表中,我们就需要在图表中直接插入文本框,然后动态引用单元格,就可以得到这样的文本框作图,文本框引用的数据也支持实时刷新:

对于这些图表,使用其他软件来实现的话,难度非常大,而使用Excel,轻松可以搞定。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

2.5 Excel锚点和图片链接

在Excel中,难免会碰上单元格作图,两个图表的大小要完全对齐,手工操作就非常麻烦了。

先来了解下使用锚点,按住键盘的Ctrl键盘,在拖动图表的时候,就会以Excel 的单元格边界为区域了,这样可以快速将图表与单元格对齐,快速制作出整洁的图表:

同样,单元格作图直接选中数据,然后粘贴为“链接图片”,就可以组合成一个整体,不会拆分出来。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

2.6 将制作好的图表保存为模板

其他软件能一键出好看的图表,在Excel中为什么需要调整这么久?其实Excel也是可以将精心制作好的图表保存为模板的, 下次使用的时候,一键生成就行,保存的方式也非常简单。右击-模板就ok。

制作一份高级可视化图表需要多久?仅需要10秒,10秒钟能做什么?10秒钟是你打开Excel文件的时间,思考都还没来得及,职场高手就已经将图表制作完毕了

10秒生成商务图表

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

03 十大必学的基础图表

Excel中的基础图表有非常多,但是必学的可以分为以下这10种:柱状图、条形图、散点图、气泡图、雷达图、饼图、折线图、面积图、直方图、组合图等。

在不同的数据结构下选择不同的图表,会有不同的效果,制作可视化的最重要的一步就是选对图表。

3.1 类别比较神器:柱状图使用场景/技巧

柱状图是使用频率最高的图表,甚至没有之一,使用场景又能被分成以下几个:

柱状图使用场景

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

3.2 类别比较神器:条形图的使用场景/技巧

与柱状图对应的就是条形图,如果优先观察数据的分布、类别名称比较长等,优先使用条形图,展示效果会比柱状图要好不少:

条形图

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

3.3 双变量分析:散点图使用场景/技巧

散点图的适合场景(XY双变量分析):XY两个变量之间的关联与联系,例如:身高/体重、广告投放/收入等等,如果需要分析变量之间的关系,则使用散点图;

优缺点也很明显:

  1. 可以用于展示数据的分布和聚合的情况;
  2. 适合展示比较大的数据;
  3. 看上去比较乱,数据细节不明显,只能看到相关、分布、聚合等信息;

不同的数据绘制效果如下:

散点图

最常见的用于分析数据之间的关联,有以下几种联系:

数据关联

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

3.4 三变量分析:气泡图使用场景/技巧

在散点图的基础上,如果数据的维度增加多一维,那么就可以使用气泡图,气泡图的性质与散点图接近,但是不适合展示大量数据,一般也可以用来观察少量数据的分布情况。

散点图

与散点图一样,也可以绘制多组数据系列:

多数据系列气泡图

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

3.5 多属性分析:雷达图使用场景与技巧

如果数据的维度暴增,变成了4~10维的话,那么要对比他们的差异,使用雷达图是最佳的,但是雷达图有一个限制,就是数据量不能很大,并且尽量让数据归一化进行对比(同数据量对比),否则会丧失意义。

雷达图

除了以上的注意事项之外,雷达图由于是全部连接在一起的,这就要求数据之间没有什么关联,并且可排序,如下就是错误示范:

错误示范

以上就是错误的示范,数据是不可排序的,并且有关联,10月和1月之间是不应该连接的。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

3.6 占比分析神器:饼图使用场景/技巧

如果是要统计数据的占比情况,那么就选择饼图,或者是圆环图,这个系列的图表能很清晰地展示数据的占比情况,知识点如下:

饼图/圆环图

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

3.7 时间趋势分析:折线图使用场景

如果数据量比较大,并且数据是沿着某个方向进行有规律变化的,那么就可以使用折线图,折线图无论是展示大量数据,还是少量数据,都非常适合。

知识点:

少量数据反应数据细节&趋势:

少量数据

数据量大的时候,可以看出整体的趋势,例如下图余额宝七日年化收益率的变化:

余额宝七日年化收益

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

----------------------------2020.01.03更新部分----------------------------

04. 仪表盘的制作技巧

在实际工作中相信很多同学都看过可视化图表、大屏报表、仪表盘,可能你不知道这些词,但是肯定经常被这种高大上的图表吸引到了。

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

其实这种通常被称为「仪表盘」,仪表盘将不同的关键信息/指标等统一组织在一个屏幕上显示,那么究竟难不难制作呢?不难!3招就可以轻松搞定。

01. 确定指标

拿到一份数据并不是立马就动手作图,一定要确定好「需求」!那么数据汇报的需求是什么呢?其实不在乎就是挖掘出数据中隐藏的价值和信息。

这里我们以「2019年圆通全球集运平台数据」为例,来挖掘数据中需要展示的信息,根据业务的需求,提取出来一下信息:

  1. 不同月份客户下单的情况分析;
  2. 承运商车辆认证/适配/新增/使用情况;
  3. 配送运单的送达情况/罚款情况/区间情况;
  4. 用户注册相关分析/活跃度/注册占比等;
  5. ...

在数据量很庞大的时候,往往不知道从哪里着手开始分析,也可以使用这个思路,将大需求拆分成很多个小需求

同时我们也可以将表格拆分成很多个单独的小表,如下根据需求拆分出来的数据表格:

拆分小需求

这样,每一个需求的指标就都已经齐全了,接下来就可以开始着手制作仪表盘了~

02. 确认布局/配色/风格

将需求和指标一一列出来之后,接下来就是合理布局这些数据/图表,形成「数据看板」,怎么快速布局呢?其实是有技巧的。

新建一份空白Sheet,并且将行宽列高调整为一致,也就是让单元格变成一个一个的小正方格

缩放单元格

接着我们可以将这些小正方格链接在一起,并且为每一块区域标记命名,备注每一个区域填充的内容,就像下方这样:

合理布局内容版块

如果这里不会布局,那么可以去哪里快速寻找仪表盘来进行模仿呢?这里给大家推荐 4 个网站:

  1. 花瓣网,以配色+布局为主体,搜索可以直接使用;
  2. 站酷网,以配色+布局为主体,跟花瓣网一样;
  3. CollectUI,以UI设计为主,模仿网站后台;
  4. 优设网,以设计思路+教程为主,提升细节体验;
  5. ...

在这些网站搜索关键词:大屏、Dashboard、看板、数据报告,就可以找到非常多值得参考的大屏数据汇报,吸取他们的配色方案即可。

例如本例子所使用的颜色标准布局风格都来自这几个网站上设计的参考:

配色方案参考
字体方案参考
版式参考

到这一步就将「仪表盘」的整体基础架构搭建起来了,接着就可以往这个框架里填充数据/图表了。

03. 填充数据/图表/美化

在第一步中,我们已经将指标全部确认完毕了,在这一步只需要分别将每个图表绘制出来,并且填充到对应的区域即可,如下:

填充图表

那么底下「发光的边框」是如何制作的呢?其实很简单,这是利用Excel形状中的「内部阴影」功能实现的。

给形状填充一个背景色,并且设置内部阴影的「透明度」为50%,「模糊」为26磅,「颜色」为蓝色,就可以得到这种效果:

制作发光边框素材

然后将制作好的「发光边框」放置到图表的下方即可。

图表的美化则有几个步骤,设置填充/边框/字体色/网格线,调整图表区域的大小和位置,就可以了,非常轻松,录制了一个GIF给大家:

美化图表

至此,我们就巧妙利用了Excel中的单元格栅栏布局、内置基础图表、基础形状完成了一份科技感非常强的「仪表盘」。

当然你可以在图表中插入一些比较科技风的图片元素,例如光效、科幻背景等等

本案例中使用的光效如下,使用高光修饰图表的标题:

高光修饰标题

科幻背景使用如下,使用线条联动背景修饰整块背景:

科技背景修饰仪表盘

这些免扣素材可以上哪里去寻找呢?在之前的推文中,我们就分享过「51觅元素」这个免扣素材,上去搜索光效就可以找到啦:

51觅元素

整体完成之后,科技风和专业感都满满,比你单独提交数据汇报强太多了~

Excel动态仪表盘

学习传送门: Excel实战篇,让你的图表动起来 - 网易云课堂

未完待续!暂时先更新到这里,2020.01.03二次更新(更新多了仪表盘的制作技巧)

想要学习【Excel可视化图表】的也可以关注下我哦~

  • Excel实战篇,让你的图表动起来 - 网易云课堂
未经允许,禁止转载,更多Excel教程、模板,可以前往公众号:芒种学院

点赞收藏感谢退出一气呵成~持续更新哦!!

编辑于 2020-01-03 09:20

之前看到一个国外妹子用了24种工具制作一个相同的图表,比较了12款可视化软件和12个编程/图表库,并针对工具/图表库的侧重度,灵活程度,图表创新性,交互效果四大方面,写了一篇一级棒的文章。

本课代表编译了这篇文章和大家分享,便于大家更加了解这些可视化工具与编程的优缺点。(ps:原文基于CC Attribution 3.0版权协议,编译文在原文基础上有删改)

———————————————

今年5月,这个妹子给自己设置了一个挑战:尽可能尝试使用多种多样的编程语言或者软件来进行数据可视化。为了比较这些工具,她利用这些工具重复制作了同样的一张散点图。基于结果,她还发布了两篇文章:一篇是用12种软件做一个相同的图表,另一篇是用12种编程/图表库做一个相同的图表

下图展示了她使用12个不同的软件制作同一张散点图的过程:

(想看动图的可以戳这里)

这是12种编程/图表库制作出来的效果:


她从这些可视化软件/图表库中认识到:

There Are No Perfect Tools, Just Good Tools for People with Certain Goals.

没有十全十美的工具,但是如果确立(可视化)目标,就能找到合适的工具去实现。

数据可视化在很多领域都有应用,比如自然科学,商业当然还有新闻业。(插播:本美数课课代表从事的数据新闻~)所有这些领域都有不同的需求——但即使在数据新闻领域,不同的场景下呈现的方式和效果也不同,因此不存在一个完美的工具可以满足所有的需求。

下面是她在制作中曾遇到过的一些矛盾,也是数据可视化工作者常常遇到的情况。

1)分析 VS 展示

是想使用工具(R, Python)来分析数据,还是更注重于构建可视化效果(D3.js, Illustrator)?有些工具(比如说 Tableau, Ggvis, Plotly)试图在这其中谋求平衡,既可分析又可展示。

她根据分析和展示上的侧重性对可视化工具和编程语言们进行了排列:可以看到工具类的往往更注重展示,而编程类的比较平均,各有侧重点。


2)数据管理

如果制作可视化的时候需要更改源数据怎么办?在这方面,这些工具或编程语言的灵活性如何?

低灵活性:比如在Illustrator中,即使你只是轻微修改了数据,也需要重头开始制作图表,这种工具还不方便进行数据管理。

中灵活性:比如在D3.js中,可以单独处理或修改数据,然后再重新导入数据文件来更新可视化结果。

高灵活性:比如在Plotly和Lyra中,导入数据后,可以直接在该工具中修改或是增减新数据。

3)传统图表 VS 创新图表:

如果你只需要基本的图表类型,如柱状图或折线图,Excel完全可以满足啦~

但你如果想创建表现形式更为丰富的互动图表,比如点击可以出现酷炫的交互效果,像D3.js之类的编程语言就更适合啦,但是学习此类工具的门槛也往往更高,有着陡峭的学习曲线和冗长的代码。或者也可以使用Processing,用它制作这张散点图的代码长度只有D3.js的一半。还有Lyra,它不需要任何代码基础,但也可以让你轻松修改数据有关的视觉元素。

下图是她对可视化软件和编程语言两类的灵活性的评价排列:



4)交互图表 VS 静态图表:

你是需要创造基于网页的交互图表(如D3.js, Highcharts能做到的),还是PDF/SVG/PNG形态的图表就能满足你 (R和Illustrator可以做到)?

几年前,互动图表曾受到高度追捧,但现在关注焦点慢慢从“看起来怎么样”转移到“什么才更有意义”。

对于分析部分,交互特性往往也是很有必要存在的。Plotly和R的库Ggvis就可以让读者轻松地将鼠标悬停在可视元素上来查看基础数据。

下图是作者对于软件/编程的在静态和交互的划分:

看完了以上四个方面,

There Are No Perfect Tools, Just Good Tools for People with Certain Mindsets.

还是那句话,没有十全十美的工具,不同的工具适合不同的思维方法

人各有长处,何况工具呢?它们都是依照特定的制作思路和功能被开发的,而真实使用场景下,使用者的思路和开发者们预想的方式可能会不同。开发者们往往会受到以前使用工具和他们同事的影响,况且他们也有着非常不同的专业背景:比如新闻学、统计学、计算机科学、设计专业等等等。

我的朋友Alberto Cairo曾经像我推荐过Yeeron和InZight两个工具,但是我觉得很难用。而他觉得难用的Lyra,却是个给我带来诸多启发的工具。这是因为我俩背景不同:他的首要自我认知是记者,其次才是设计师;而我则认为自己主要是个设计师。所以他喜欢能发现故事的可视化工具,而我则喜欢更高的设计自由度。

We Still Live in an “Apps Are for the Easy Stuff, Code Is for the Good Stuff” World.

我们仍然更认同“可视化软件更容易上手,但写代码可以做出更好的作品”。(所以想入可视化黑洞的同学们,学代码吧!hello world:)

大多数软件很容易上手,但功能有限。

大多数编程语言/图表库相对较难学习,但提供可以更多的灵活性和选项。

下面的图表是原作对学习的灵活性和难度之间的关联排列:可以看出大多数编程语言/图表库处于高难度和灵活多变的区域,而大多数支持一键生成的可视化软件则处于低难度与不灵活的区域。

作者还提到她自己很喜欢像Plotly,Tableau,Lyra和NodeBox这样的软件,只需要通过点击和拖动就可以制作图表,且拥有很高的灵活性。希望可以看到更多这类的工具,甚至希望能够把软件的可视化能力开发得像编程一样强大,当然这是一个很大的挑战。Excel就是一个很好的例子。它不但对初学者来说很容易上手,也能为Excel大神们提供了很大的灵活性。

“Every Tool Forces You Down a Path.”

每种工具都会引你走向一条路……

你想要站在宇宙中心去呼唤……是绝对不行的,要勇敢的走起来先!加斯特Do it!

附上原文:

WHAT I LEARNED RECREATING ONE CHART USING 24 TOOLS

这个妹纸的其他文章~(⚆ᴗ⚆)~

1)

One Chart, Twelve Tools

2)

One Chart, Twelve Charting Libraries

twitter:

@lisacrost

//2017年,本美数课课代表要学代码了!p5.js
var button;
var like = 0;

function setup(){
  createCanvas(100, 100);
  button = createButton("like");
  button.mousePressed(likePlus);
}

function likePlus(){
  like++;
  button.html(like);
}
编辑于 2016-12-29 11:56

楼上的牛人们推荐一大堆外文网站让普通人怎么用?!

这可不是简单地撸个图片摘个文字那么简单。

我还是推荐几个适合普通人以及新手使用的吧,以下网站皆为中文版:

① BDP个人版

链接: me.bdp.cn/home.html

BDP作为新一代的云端数据分析平台,具备无缝数据接入功能,是一款兼具强大数据处理和灵活易用可视化分析的高效工具,简单的3步即可完成数据分析。BDP提供近30种图表类型,其中包含词云、漏斗图、地图、雷达图等等。同时BDP还支持多端查看数据,帮助用户快速完成多数据整合,快速挖掘隐藏的数据价值,用数据提高业绩。



② ECharts

链接: echarts.baidu.com/

ECharts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上。底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

ECharts在支持常规图表的前提下,同时提供模块化引入和单文件引入,在开发时用户可以引用所有ECharts开发文件,方便开发和调试。而在项目发布后也可以去除不需要的文件以加快页面响应速度。



③ 图表秀

链接: tubiaoxiu.com/

图表秀,一款免费的在线图表制作工具,支持自由布局与联动交互分析。页面设计简洁、上手简单,一共提供10个类54款图表模型,其中包含传统图表、词云、气泡图、双线图、KPI图表等等。

发布于 2017-03-20 21:29

自从看了挪威那吞剑老头TED演讲后久不能忘这么牛叉的东东。

既能动画播放,又能截图当2D图表。

还能自选指标。

gapminder.org/world/
编辑于 2014-02-21 03:58

楼上推荐很多牛逼的工具其实对大部分用户来说使用门槛过高了,有时候大家只是想专注于数据,写出好的报表,而不是去开发,或者去搭建网站。

来推荐一下前公司的免费专业数据报表制作工具 文图wentu.io)

文图的优势在于 易用 和可扩展性(更多新的功能也会陆续加入)

相比d3.js 和 echarts 这些工具,他们比较难上手,毕竟还需要用户自己去学习api,搭建网站,做细节优化。文图在echarts基础上做了封装优化,以后还会加入其他工具和图表类型。

修改图表数据就像excel一样简单

相比excel我们的优势是在线编辑展示和文档共享。轻量而且方便。

方便管理报表的文档库

wentu.io/publish# (二维码自动识别)

发布分享您制作的数据报表

相比其他一些国外的数据报表制作工具 我们是本土团队,文图更符合我们中国人的使用习惯,而且有什么建议反馈到我们这里都会尽快处理(我负责前端开发,所以有bug或者体验问题都可以直接私信告诉我)。


马上(真的是马上啊。。。不出意外的话预计2016.01.28)上线的文图第二版即将有自由布局,历史记录撤销重做,多款预定主题及文字样式,欢迎大家来尝试。 这个早就上线了

新版的多栏布局

因为IE适配还没有来得及做,敬请各位使用chrome或者firefox访问文图

编辑于 2016-11-07 17:57

个人感觉跟国外的数据可视化作品比起来,目前国内实践着的大部分数据可视化作品都是渣!!!想当年,作为一度痴迷数据新闻可视化的学生,羡慕information is beautiful的光鲜外衣,自学起来一些数据新闻网站,作为英语渣被虐得一把鼻涕一把泪!!!让我去厕所哭会儿。

不过功夫不负有心人,还是让我找到了几个国外质量较高的数据可视化工具或资源。既然,楼主问到了,就在这儿曝光十个。嗯,首先,没有被此书虐过的童鞋

Beautiful Visualization (豆瓣)

还是最好找一下虐,毕竟...............基数就是基础,不来不去,它就在那儿

帮助你更好地理解数据,这正是可视化的要义。工具,便是更好的帮你理解可视化。(好吧我承认这句话是我自创的)

NO1. 我个人最喜欢的:

Visual.ly

Visually | Content Marketing for Brands

Visual.ly 用社交网络功能来连接在世界各地的所有成员。设计师们通过提交自己的项目进入他们的网站画廊,从而能够对数据实现可视化。它理想的目标是提供一个接口,用于直接在浏览器中创建动态的信息图表。该工具目前未发布,虽然我听说过一些私人beta测试。你可以注册您的电子邮件地址以接收更新消息,并可能邀请测试。至于他们的网络功能, Visual.ly 提供了极少数的合作伙伴页面。这些类似于个人资料页面,您可以查看评论,喜欢,意见和信息图表意见,但这些都是有针对性的对大品牌 - 国家地理、易趣、Skype、CNN 等。

NO2.

Better World Flux

Better World Flux

这是一款漂亮的可视化工具!Better World Flux 是一个可以互动信息、图形的网站。选择一个国家,根据指示操作,比如可以选择预期寿命或饮水作为指标。有一个小的视频演示如何操作,你可以在YouTube上观看(

youtube.com/watch?

)。


NO3.

We Feel Fine

We Feel Fine / by Jonathan Harris and Sep Kamvar

We Feel Fine 标榜为人类情感而探索,这是我见过最独特的可视化引擎之一。开始前要点击其主页上的大按钮,该应用程序将据此加载操作系统。

沿上面一行,你会发现飞出选项对数据进行排序。其标准包括年龄,性别,气候位置,甚至日期。该项目提供了整个世界的喜怒哀乐情绪,在任何给定的点,数据超级详细!这是对人类来说,真正令人震惊的实验。

当你点击画布的任何地方,飞球会分散。如果您将鼠标放在他们中的一个,它会提供更多的细节,点击打开,顶部有一个全新的选项。许多结果都来自Twitter。情绪和情感的数据数量级是令人难以置信。

NO4.

Rss Voyage

Rss Voyage - RSS feed reader with a difference

另一个我个人最喜欢,且确实有助于形象化各地数据的网络数据的网站。如果您登录到Rss Voyage, 你可以导入自定义RSS供稿到您的帐户一整个数据图。在他们的网页,你可以点击“开始”与默认提供的应用程序。在这种情况下Rss Voyage将拉动几个流行的博客,如纽约时报,瘾科技,卫报,等等。

如果您通过移动图形,点击一个特定的文章的观点时,他将固定在屏幕上。这包括标题,简短描述,元数据连同它的URL出版日期。如果在任何时候你想开始创建自己的RSS可视化,所有你需要做的就是创建一个帐户!

注册是完全免费的,你可以在页面的底部创建通过注册表格您的帐户。作为另一奖励功能

Rss Voyage可以让你轻松设置全屏模式浏览风格的RSS源。

NO5.Revisit

moritz.stefaner.eu

客观来讲,Revisit是一种重新定义我们如何看待微博的工具。有了这个工具,你可以与一个或多个关键字的数据创建连接。您可以将额外的标题添加到您的图形和分享的链接(甚至到微博) 。

点击一个单独的分离线,关闭图形将显示更多细节。通常包括元数据,如时间发布和相关的关键字。搜索条件仅限于标准的Twitter符号,使用逗号分隔的关键字列表。

如果有兴趣,我建议查看位于同一网站的创作数据可视化等项目。 Truth & Beauty


NO6.

Tag Galaxy

Tag Galaxy

Tag Galaxy是一个非常独特的可视化工具。他们的主页干净且易于理解,因为标签Flickr上有单独的一个搜索表单。此外左下角设有为新用户一些流行的建议。只需输入一个词,然后按Enter,通过Flickr的照片就可在Tag Galaxy查询。

他们的渲染引擎复制我们的太阳系的中心,太阳代表主要搜索项的外观,外部行星的轨道代表类似的标签。这是我见过的最酷的可视化演示渲染和Flash之一。

注意,当您在每个星球上悬停它会为你提供一个小的预览数。这是发现在Flickr的该标签的询问的照片总数。点击太阳将打开相关照片缩略图的球体,而旋转的行星会增加他们的搜索字词的查询。当然,你可以找到更多有关照片通过点击弹出完整视图。


NO7.

Google Fusion Tables

About Fusion Tables

我们都知道的龙头企业是谷歌。他们的实验室的后面几年已经运行了一些很有趣的实验,Google Fusion Tables就是其中之一。你需要的是一个谷歌账户。此工具可以公开在网上共享数据,并建立自定义的可视化图形。

这些可以从csv或Excel电子表格导入。尽管目前并不支持。登录后,会发现公共数据列表的表格与演示。这些都在不断更新,新的用户提交 ,打开文档后,顶部的工具栏会有其他菜单可视化链接,自定义图形。

NO8.

Dipity

dipity.com/

没有什么比我们在地球上的历史更有趣。已经有很多的事件在过去10年到20年,更不用说十年到百年! Dipity 是一个奇妙的工具,他用来创建和嵌入自定义的互动时间表。用户可以在重要日期进行标记,包括照片,链接,音频,视频和其他形式的媒体。

该服务需要您在创建时间表前注册一个帐号。选择一个免费的计划,在日后他们提供升级到保费计划 dipity.com/premium/plan。幸运的是,该网站会提供公共的最流行的时间表成员,所以你可以很容易地通过排序动态时间表去发现一个令人兴奋的细目清单。我个人最喜欢的是史蒂夫工作的生活和事业照片甚至直到2011完全格式化。 dipity.com/StevePro/Ste


NO9.

WIkiMindMap

WikiMindMap

说到独特的展示台,维基百科也是一个网络,虽然你没有看到尽可能多的开发商,但是Wiki包含一个大的离谱的数据量! WikiMindMap可以让你选择一个区域,然后输入网址的页面。

如果您的关键字不完全匹配了一个页面,应用程序将提供给您最亲近的建议。圆圈内产生的链接将引出到主Wiki页面,而刷新链接打开的选项的树。这些都是相关的链接拉断主维基页面协调您的关键字。它也很容易通过点击链接刷新图标切换到一个新的根节点。


NO.10

Axiis- Browser Market Share

axiis.org/examples/Brow

Axiis 是用于数据可视化软件的最流行的网站之一。在他们的网页,你可以把酷炫的程序下载到您的PC或Mac电脑上运行。


W3Schools已经记录用户和跟踪浏览器几年了。 Axiis编制从2002到2009与最流行的Web浏览器形成一个美丽的可视化图形。和众多上市的包括Safari浏览器,网景,IE浏览器和谷歌Chrome浏览器合作。名单尚未更新为2010/2011 ,但我们可能会看到公布在未来数月更新的信息图表。


国内的话,做得好的应该是财新的数据新闻实验室和网易了。

文章原刊载于数据新闻网( jake的1KE主页)。

作者Jake为网页与手机平台设计师。

请关注微信公众号:“wow1ke”

更多资料: 财新数据可视化实验室

数据很大你想看看?没有这些可视化工具你可能看不懂

发布于 2015-05-08 22:27










































































编辑于 2017-06-09 16:45

1. Axiis axiis.org/

基于 Flex 的数据可视化工具,准确、表现丰富。

2. Chronoscope timepedia.org/chronosco

对于海量数据的可视化,这个工具值得一试,包含一个 JavaScript API ,可以同 Google 的电子表格,iGoogle 以及开放社会网络集成。

3. Flex adobe.com/devnet/flex/t

Flex 内置图表控件,可以快速生各种效果的图表,使用类似 SVG 的 FXG 技术。

4. JSCharts jscharts.com/

一个 JavaScript 图表工具,拥有很多模板。

5. MilkChart code.google.com/p/milkc

几个简单易用又功能强大的数据到图表转换工具。使用 HTML5 Canvas 对象。

6. Ajax.org ajax.org/

一个纯 JavaScript 实时图表生成平台。

7. BirdEye birdeye.googlecode.com/

用于 Adobe Flex 的可视化数据分析类库,基于 Action Script。

8. KartOO kartoo.com/

一个非常直观的可视化搜索引擎。

9. Google Chart API code.google.com/apis/ch

Google 的图表 API。

10. DojoX Data Chart user.sitepen.com/~mwilc

基于 Dojo 的图形工具

11. Dundas dundas.com/Components/G

.NET 下老牌的数据图表工具。

12. Degrafa degrafa.org/samples/dat

一个图形框架,用于创建 UI,可视化数据,地图等。

13. Flex Monster Pivot Table and Charts flexmonster.com/flash/h

提供 Flex/Flash 数据透视表,用于 RIA 应用的开发。

14. 最后,我想说,借助AI, PS等工具排版也十分必要。

编辑于 2011-11-24 18:53

介绍一个“全能”的数据可视化平台DVP

许多数据可视化软件都具有“交互”和“链接”的功能,但现有的科学计算环境(Scientific Computing Environment,SCE),比如MATLAB、Mathematica、sas等,都不支持这些功能。DVP的设计者针对当前数据可视化软件存在的诸多缺点进行多方面的改进,旨在实现以下几个方面的突破(部分功能仍在研发过程中):

MATLAB:美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
Mathematica:一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接,也是使用最广泛的数学软件之一。
SAS:一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。
  • 作为单一环境,与任何SCE无缝通信。

已有的数据可视化软件是完全脱离SCE的独立软件。任何使用SCE的科学家、研究人员或数据分析师都不能与在数据可视化软件中可视化和发现的模式进行交互。DVP则可以与任何SCE无缝交互,就像两者都是一个环境一样,即使DVP和SCE在两台不同的机器上运行也可以进行交互,这对于连接计算云来分析大数据非常重要。

DVP可充当MATLAB的工具箱,其中所有变量都通过MATLAB通信。


  • 对不同科学领域的不同图式和方法具有很高的可扩展性。

现有的数据可视化软件提供了一些可视化方法,比如散点图、矩阵图、投影追踪(projection pursuit)等等,但在一些领域需要使用更复杂的方法,而任何一个数据可视化软件都不太可能提供所有可用的绘图和制图方法。DVP除了提供丰富的绘图功能,还提供了一种基于javascript的简单脚本语言,用户可以编写自己的绘图方法并集成到DVP中。通过这种方式,DVP将建立一个范围更广、内容更丰富、方法更多样的用户社区,方便大家进行技术交流。


  • 实时更新,支持来自网络流和公共本地数据库服务器(如SQL、MySQL和Oracle)的数据。

当前的数据可视化软件只能从本地机器存储中静态加载数据。然而,如今很多应用程序的数据源都可以在线获取并实时更新,例如股票市场数据、全球企业数据、雅虎数据等。

DVP能够方便地连接到网络流和不同的在线数据库源,始终保持连接。

DVP的在线版本,可以执行所有操作,交互和动态
  • 可连接不同硬件的API,如树莓派和Arduino芯片。

从硬件中也可以采集数据,比如从树莓派和Arduino芯片中采集。树莓派是一台信用卡大小的计算机,非常简单,任何人都可以对其进行编程。Arduino是一个微型控制器,旨在连接环境;芯片具有不同的湿度、光线和湿度传感器等。DVP能够提供与硬件设备接口的API。

树莓派
Arduino
  • 跨平台兼容

DVP可以在不同的操作系统上运行,例如Windows,Linux,Mac和iOS。

  • 多设备渲染支持——例如触摸屏、仪表盘、交互式PDF

当前的数据可视化软件只能渲染到桌面屏幕,DVP则满足了在大屏幕上展示数据的需要。通过支持基于Web的仪表盘和在线可视化,DVP还可以为企业提供业务解决方案。此外,DVP还能生成交互式PDF文档,让我们能够与PDF中的图形进行交互,实现便携性和更广泛的实用性

  • 可自定义的图形和绘图。

与大多数当前的数据可视化软件不同,DVP旨在为其图形和绘图提供完全的自定义。此外,DVP背后的设计概念是:每个活动都是带有传递参数的函数调用的结果。DVP的GUI操作只负责调用这些函数。也就是说,用户可以创建任何绘图、图形、新方法,并使用提供的脚本语言进行完全的自定义。


下图是DVP与市场上可用于数据可视化或科学计算的其他软件之间的比较(均使用2013版本)。很明显,DVP能够提供的技术功能是最全面的

可视化软件包的比较。 &#39;x&#39;表示完全支持,&#39; - &#39;表示部分支持。

DVP提供了非常丰富的功能,但操作步骤并不繁琐,DVP的设计者还贴心地准备了一段视频:

https://www.zhihu.com/video/1129796975608197120

视频来源: MATLAB API|DVP

DVP已经可以在线试用了,也可以直接下载安装包,需要写论文、作报告的小伙伴都可以去试试DVP究竟好不好用。


更多科技知识可关注 @人民邮电出版社 知乎机构号,我们会持续推出优质的计算机知识和图书资源。

发布于 2019-07-03 17:04

感觉对于非职业的数据分析师/数据可视化工程师来说,Excel VBA 绘图应该是最好的选择。

或者说对于普通的商科分析师来说,Excel VBA 绘图可能至少是最优的数据可视化解决方案之一。

(可喜的是,这个最优解决方案可以在没有太多基础的情况下,在很短的时间内学会,后面会讲)

一、为什么要学会做数据可视化?

简单的说就是make data talk,做过合理的可视化的数据本身就包含着绘图者的逻辑。如何分类数据、如何选择图表类型、如何选择图表的颜色及着重点等等。

举个例子,假设要分析一个一级市场PE/VC GP的业绩,拿到的数据是这样的(下图数据为随机生成):

如果只是简单的做出散点图的话,或者气泡图,能看出的东西是很有限的:

因为这种图只能表现2个维度或者3个维度的数据。

但如果我们把这份数据做成这样(再次说明,下图数据是瞎编的):

通过这个6维图(IRR,投资时间,投资金额,负责合伙人,是否已退出,项目名称)就能很直观的看出来:

  • IRR维度+投资时间维度+项目名称维度:Portfolio 27 是整个Fund 回报的基石(投资相对早,IRR高,金额大)
  • IRR维度+投资金额维度:虽然有死了的项目和半死不活的项目,但是金额都相对较小。
  • IRR维度+退出维度:早期投资的项目大部分已经退出(用方格表示),可以很好的说明投资能力。
  • IRR维度+投资金额维度+投资时间维度+合伙人维度:Par 1 是独角兽猎手类型(加入的短短几年内,投资少,但是金额大,回报高,眼光很准)
  • IRR维度+投资金额维度+投资时间维度+合伙人维度:Par 4 是撒芝麻型投资,撒了一堆项目,有好的坏的。

....

二、为什么说Excel VBA是最好的解决方案?

我自己在数据可视化上其实走了不少弯路。最开始肯定是追求省事,用一些高大上的软件画,于是就会跑去下载破解版的 Tableau 之类的。

后来发现这些软件实在是太难学太难用了。(也可能确实是我智商不行)刚好当时自己又有一点点编程基础,就分别试了用 Matlab / Python /Echarts 绘图。

有2016年的博客文章为证:

过段时间后我发现还是不行,对于商科狗来说,用这些东西做个业余项目玩玩还行,工作(商科/金融类工作)的时候根本没法用。

然后我就总结了一下市面上常见的数据可视化工具,以及自己工作学习中的需求,发现对于一般的咨询顾问 / PE VC Analyst 来说,好的数据可视化工具必须满足以下条件:

1.. 必须可以通过编程的方式来进行数据可视化。

  • 数据可视化的本质,其实就是把数据批量转化成有逻辑的图像的组合。因为不同的数据、不同的结论所需要的展现方式和逻辑是不一样的,所以可定制化程度最好无限好。
  • 如果上一条结论是正确的,那么所有通过GUI软件的方式来进行数据可视化的解决方案就都可以排除了,因为GUI软件的本质就是产品经理总结用户典型需求,程序员把典型需求做成功能。对于数据可视化这种全是长尾需求的任务,纯软件的方式天然不合适。

2.. 必须随时随地可用(Universally Accessible)。

  • 作为一个非职业的数据分析师,或者说作为一个典型的商科的Analyst,工作中唯一不变的可能就是变化本身,你的BP \ IC Report \ Pitch Book \ 可研 永远都要改,不到你给投资人\ IC \ LP爸爸 \政府爸爸 讲完的最后一刻,是没法说定稿的。
  • 上一条也意味着,你不但要可以在公司限制装各种软件的工作机上做你的图;还要可以在家里装满游戏,并没有任何开发环境的的台式机里做你的图;还要可以一早醒来趴在床上用Macbook 改你的图;还要可以在出差的时候用街边打印店的奔腾老爷机改你的图。
  • Universally Accessible 也意味着,不仅仅是你自己可以随时修改,你的团队成员也要可以修改,你自己也可以方便的将图整合到Word / PPT 这些常用的展示软件中。

如果把这两条都算上,那剩下的选择也就只有Excel VBA了。

和一般的Python \ R \ Echarts 之类的纯编程语言相比,Excel VBA的另外一个优势也是显而易见的:可以通过录制宏的方式,简便快捷的获取图形对象的属性,层级之类的,接下来就讲讲这个。

三、怎么能在半小时之内学会用Excel VBA绘图

对于CS科班出身或者大牛来讲VBA学起来估计非常容易,我就来讲一讲小白该怎么理解Excel VBA绘图的逻辑好了。

我一直觉得学习一门编程语言或者软件,最重要的就是要学明白它的内在逻辑。

因为我自己也不是科班出身,对于面对对象编程之类的专业术语完全不懂,也没办法用专业的方法讲这些事情。不过如果是用最简单、最不专业的一张图概括Excel VBA绘图的逻辑,我觉得大概是下图这样的(图是我自己画的):

简单的概括就是:

  1. 找到你要画的图像的名字在Excel VBA里面叫啥,属性叫啥。(可以用录制宏方便的找到)
  2. 用If 语句区分如何赋值。
  3. 用For 循环批量对其赋值。

具体怎么操作呢?拿上图举个例子:

1。我们先用横纵轴画一个散点图出来:

2。用录制宏的方式找到点状图形的大小、颜色、形状、标签四个属性如何设置(先点录制宏,然后用手动方法设置,再去Visual Basic 里面找代码):

VBE里面的代码长这样:

Sub Macro()
'
' Macro4 Macro
'
    ActiveSheet.ChartObjects("Chart 1").Activate '选中图表
    ActiveChart.FullSeriesCollection(1).Select '选中系列
    ActiveChart.FullSeriesCollection(1).Points(2).Select '选中某个点
    Selection.Format.Line.Visible = msoFalse '点的边界设为无
    Selection.MarkerSize = 10 '点的大小设为10
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(0, 32, 96) '点的填充颜色设为深蓝色
        .Transparency = 0
        .Solid
    End With
    Selection.MarkerStyle = 2 '点的形状设为方格

    ActiveChart.FullSeriesCollection(1).Points(1).DataLabel.Select
    ActiveChart.SeriesCollection(1).DataLabels.Format.TextFrame2.TextRange. _
        InsertChartField msoChartFieldRange, "='Fund 1 Track Record'!$A$3", 0
        '设置标签为散点的名字

End Sub

这里可以直观的看出:

1。可以通过ActiveSheet.ChartObjects("Chart 1").FullSeriesCollection(1).Points(X)这几层属性来选中某个散点。

2。选中之后,我们可以通过:

  • MarkerSize属性更改点的大小(用于表示投资金额)
  • Format.Fill.ForeColor.RGB 更改点的填充颜色(用于表示是哪个合伙人投资的)
  • MarkerStyle更改点的形状(用于表示是不是已经退出的项目)
  • InsertChartField 更改点的标签名称(用于区分Portfolio)

接下来就是写For 循环了:

Sub Macro()
'
Dim cht As ChartObject
Set cht = ActiveSheet.ChartObjects("Chart 1")

cht.Chart.FullSeriesCollection(1).Format.Line.Visible = msoFalse

For Row = 2 To 58 '共计58行数据 
    pointnum = Row - 1
    Debug.Print pointnum
    Set point = cht.Chart.FullSeriesCollection(1).Points(pointnum)

    '根据投资金额设置圆点大小
    marksize = Round(Cells(Row, 5) / 1.5, 2)  'Excel VBA绘图似乎只能识别2位小数
    If marksize < 2 Then marksize = 2 'Excel VBA绘图散点大小最小也要是2
    Debug.Print marksize
    point.MarkerSize = marksize

    '根据该投资负责的Par设置圆点颜色
    parname = Cells(Row, 4)
    If parname = "Par1" Then pointcolor = msoThemeColorAccent1
    If parname = "Par2" Then pointcolor = msoThemeColorAccent2
    If parname = "Par3" Then pointcolor = msoThemeColorAccent3
    If parname = "Par4" Then pointcolor = msoThemeColorAccent4
    point.Format.Fill.ForeColor.ObjectThemeColor = pointcolor

    '根据是否已经退出设置圆点形状
    realized = Cells(Row, 6)
    If realized = "Realized" Then point.MarkerStyle = 2
    If realized = "Unrealized" Then point.MarkerStyle = 8

    '根据Portfolio名称设置标签
    point.ApplyDataLabels
    cht.Chart.FullSeriesCollection(1).DataLabels.Position = xlLabelPositionAbove
    cht.Chart.SeriesCollection(1).DataLabels(pointnum).Format.TextFrame2.TextRange. _
        Characters.Text = Cells(Row, 1)
    cht.Chart.FullSeriesCollection(1).Points(pointnum).DataLabel.Format.TextFrame2.TextRange.Font.Size = 6

Next Row
End Sub

画出来就长这样:

在PPT里面添加上关键项目的Logo,拉开标签,大功告成:


VBA画图常见的几个坑(也欢迎各位大牛们在评论区里补充):

1。 Excel VBA 录制宏的逻辑是把GUI(即鼠标键盘)操作的每一步都录制下来的,比如说你要把标签字号改成9号,代码会长这样:

ActiveSheet.ChartObjects("Chart 1").Activate '选中图表1
ActiveChart.FullSeriesCollection(1).DataLabels.Select ‘选中系列1的所有数据标签
ActiveChart.FullSeriesCollection(1).Points(27).DataLabel.Select ‘选中第27个数据标签
Selection.Format.TextFrame2.TextRange.Font.Size = 9 ' 把第27个数据标签改成9号字体

这种的代码用来跑循环当然理论上讲也能用,但是Excel VBA出了名的慢、容易卡死,如果你的数据多的话,还让Excel 模拟你自己的鼠标键盘操作选来选去的,卡死也不奇怪。

所以最好直接精简成这样:

ActiveChart.FullSeriesCollection(1).Points(27).DataLabel.Format.TextFrame2.TextRange.Font.Size = 9

直接一步到位就改了,中间的步骤都可以省略。

2。Excel 2013 和 Excel 2016有其独特的Bug,就是VBA无法修改散点的透明度。

最早我以为是我学艺不精,后来发现真的是Bug:

不过没关系,run之前统一修改好就好。

3。因为是VBA绘图,所以每次直接修改原始数据,你的图是不会跟着变的,需要重新Run一遍程序。也因此,每次对原始数据操作(排序,修改公式等)都要重新跑一遍程序。

这点挺烦的,所以最好1.确定好数据再画,2.单独开一个sheet放数据画图,不在上面排序啥的。

4。因为有表头等原因,数据里面第几行(即程序中的row)和图表里面的第几个形状(即程序中的pointnum)是不一样的,需要进行调整对应。

这个倒是没啥,注意一下就行了。


文中提到的数据和代码的下载地址:

tsauliu.com/files/fund_

希望对知友们有帮助。

发布于 2018-05-22 15:56

Altair是一个专为Python编写的可视化软件包,它能让数据科学家更多地关注数据本身和其内在的联系。

Altair由华盛顿大学的数据科学家Jake Vanderplas编写,目前在GitHub上已经收获超过3000星。

最近,Medium上一位小姐姐Parul Pandey分享了Altair的入门教程,希望对从事数据科学的用户有帮助。量子位对主要内容进行了编译整理。

使用教程

Parul以汽车数据为例,将一个汽车数据集“cars”载入到Altair中。

cars中包含汽车的生产年份、耗油量、原产国等9个方面的数据,后面将对这些内容进行可视化处理。

安装和导入Altair软件包

除了安装Altair和它的依赖软件外,还需要安装其他前端工具,比如Jupyter Notebook、JupyterLab、Colab等等。

Parul小姐姐推荐安装JupyterLab:

pip install -U altair vega_datasets jupyterlab

需要注意的是,由于Altair的教程文档中还包含vega数据集,因此也需要一并安装上。

接着在终端中输入:jupyter lab,就能在你的浏览器中自动打开它啦。

在代码开头别忘了导入Altair:

import altair as alt

完成以上准备工作,我们就可以开始绘图了

开始绘制图表

Altair中的基本对象是Chart,它将数据框作为单个参数。你可以这样定义它:

chart = alt.Chart(cars)

Chart有三个基本方法:数据(data)、标记(mark)和编码(encode),使用它们的格式如下:

alt.Chart(data).mark_point().encode(
encoding_1='column_1',
encoding_2='column_2',
# etc.)

数据顾名思义,直接导入cars数据集即可。标记和编码则决定着绘制图表的样式,下面着重介绍这两部分。

标记可以让用户在图中以不同形状来表示数据点,比如使用实心点、空心圆、方块等等。

如果我们只调用这个方法,那么所有的数据点都将重叠在一起:

这显然是没有意义的,还需要有编码来指定图像的具体内容。常用的编码有:

x: x轴数值
y: y轴数值
color: 标记点颜色
opacity: 标记点的透明度
shape: 标记点的形状
size: 标记点的大小
row: 按行分列图片
column: 按列分列图片

以汽车的耗油量为例,把所有汽车的数据绘制成一个一维散点图,指定x轴为耗油量:

alt.Chart(cars).mark_point().encode(
x='Miles_per_Gallon'
)


但是使用mark_point()会让所有标记点混杂在一起,为了让图像更清晰,可以替换成棒状标记点mark_tick():

alt.Chart(cars).mark_tick().encode(
x='Miles_per_Gallon'
)


以耗油量为X轴、马力为Y轴,绘制所有汽车的分布,就得到一张二维图像:

alt.Chart(cars).mark_line().encode(
x='Miles_per_Gallon',
y='Horsepower'
)

给图表上色

前面我们已经学会了绘制二维图像,如果能给不同组的数据分配不同的颜色,就相当于给数据增加了第三个维度。

alt.Chart(cars).mark_point().encode(
x='Miles_per_Gallon',
y='Horsepower',
color='Origin'
)



上面的图中,第三个维度“原产国”是一个离散变量。

使用颜色刻度表,我们还能实现对连续变量的上色,比如在上图中加入“加速度”维度,颜色越深表示加速度越大:

alt.Chart(cars).mark_point().encode(
x='Miles_per_Gallon',
y='Horsepower',
color='Acceleration'
)



数据的分类与汇总

上面的例子中,我们使用的主要是散点图。实际上,Altair还能方便地对数据进行分类和汇总,绘制统计直方图。

相比其他绘图工具,Altair的特点在于不需要调用其他函数,而是直接在数轴上进行修改。

例如统计不同油耗区间的汽车数量,对X轴使用alt.X(),指定数据和间隔大小,对Y轴使用count()统计数量。

alt.Chart(cars).mark_bar().encode(
x=alt.X('Miles_per_Gallon', bin=alt.Bin(maxbins=30)),
y='count()'
)

为了分别表示出不同原产国汽车的油耗分布,前文提到的上色方法也能直方图中使用,这样就构成一幅分段的统计直方图:

alt.Chart(cars).mark_bar().encode(
x=alt.X('Miles_per_Gallon', bin=alt.Bin(maxbins=30)),
y='count()',
color='Origin'
)

如果你觉得上图还不够直观,那么可以用column将汽车按不同原产国分列成3张直方图:

alt.Chart(cars).mark_bar().encode(
x=alt.X('Miles_per_Gallon', bin=alt.Bin(maxbins=30)),
y='count()',
color='Origin',
column='Origin'
)

交互

除了绘制基本图像,Altair强大之处在于用户可以与图像进行交互,包括平移、缩放、选中某一块数据等操作。

在绘制图片的代码后面,调用interactive()模块,就能实现平移、缩放:

Altair还为创建交互式图像提供了一个selection的API:

在选择功能上,我们能做出一些更酷炫的高级功能,例如对选中的数据点进行统计,生成实时的直方图。

叠加多个图层

如果把前面的汽车耗油量按年度计算出平均值:

alt.Chart(cars).mark_point().encode(
x='Miles_per_Gallon',
y='Horsepower',
color='Acceleration'
)


在统计学上,我们还能定义平均值的置信区间,为了让图表更好看,可以分别列出三个不同产地汽车的耗油量平均值置信区间:

alt.Chart(cars).mark_area(opacity=0.3).encode(
x=alt.X(Year, timeUnit=year),
y=alt.Y(ci0(Miles_per_Gallon), axis=alt.Axis(title=Miles per Gallon)),
y2=ci1(Miles_per_Gallon),
color=Origin
).properties(
width=600
)

最后我们可以用图层API将平均值和置信区间两幅图叠加起来:

spread = alt.Chart(cars).mark_area(opacity=0.3).encode(
x=alt.X('Year', timeUnit='year'),
y=alt.Y('ci0(Miles_per_Gallon)', axis=alt.Axis(title='Miles per Gallon')),
y2='ci1(Miles_per_Gallon)',
color='Origin'
).properties(
width=800
)
lines = alt.Chart(cars).mark_line().encode(
x=alt.X('Year', timeUnit='year'),
y='mean(Miles_per_Gallon)',
color='Origin'
).properties(
width=800
)
spread + lines

更多内容

本文只是介绍了Altair的一些基本使用方法,远远不能涵盖它所有的功能。如果需要了解更多,请参阅GitHub页说明:

教程原文:

量子位 · QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态

欢迎大家关注我们,以及订阅 我们的知乎专栏

发布于 2019-02-28 15:42

我个人JavaScript用的比较多,在JavaScript上有好几个非常好用的第三方库,拿来做数据可视化再适合不过了。排名不分先后的简单介绍一下

  • 一号种子选手 Chart.js

这个库我个人感觉是一个风格很讨喜的库,图标相对简约,颜色也都很活泼。基本上常用的图表类别都有。而且网站做的也很清晰,documentation也比较易懂。缺点嘛就是如果想画一些稍微复杂一点的图,比如甘特图等等,这个库目前还不支持。适用于常见的图表绘制。


  • 二号种子选手 HighCharts.js

这个库可以说是目前来说我最喜欢也用的最多的一个库。第一个原因是,官方自带了肥肠肥肠多的demo!(咳咳,才不是我懒)而且,每一个demo都有像下图这样可以在JSFIDDLE里面调试的源代码,可以说是欲求必满了。基本上想做什么图标,在官方的demo里面翻翻都能找到。即使找不到完美复合需求的,也一定能找到类似的,稍微改改就能用了。可以说是效率神器

除了常规图表之外,HighCharts下面还有一个专门针对数据地图的Highmaps系列。这个系列的包括了从世界地图到包括中国在内的各个数据地图的模板。具体的使用可以看我在另外一个问题下面的回答

这个库要说缺点嘛,就是Highmaps虽然有中国地图,但是并不支持用中文来作为城市或者省份的ID,用起来不如后面我会说到的一个库那么方便。除此之外,墙裂推荐!

  • 三号种子选手 amCharts

其实amCharts的特点和HighCharts的特点很类似的,也有大量的demo和非常易于调试的源代码,amCharts下面也有amStocks和amMaps两个系列,分别针对金融/股票数据和地图数据。下面这个图官方在stock类别下面的一个demo,注意下面有一个滑动条,是可以放大缩小走势图的时间区间的。

说实话两个库的demo类比很想,网站长的也挺像的,一度让我怀疑是不是背后是一个团队= = 我个人接触HighCharts.js比较早,所以用的顺手了,也自然更喜欢一些。不过amCharts比HighCharts.js多了甘特图的官方支持,虽然目前的类别还好不是很多,但是HighCharts.js在甘特图方面截止目前为止还是没有支持的。

  • 四号种子选手 D3.js

说到用JavaScript数据可视化是不可能不提D3.js,因为D3.js实在是知名度太高,也确实很强大。但是真倒让我推荐这个库,我倒觉得心情有点复杂。原因很简单,它很强大,但也相对很复杂。我刚开始用JavaScript做数据可视化的时候,上来就选择D3.js (以为听人说过太多),但结果我想用自己的数据画一个柱状图,光看documentation就看了半天,还是没有太搞明白。因为他不像前面我介绍的几个库,想画什么类型的图几乎就是括号里面写一下那个类型的英文就搞定,D3需要你比较系统的看完官方文档才会对如何用其画出想要的图表有一个比较好的了解。但是,也正是因为如此,如果你真的掌握了D3,你所能画出的东西将不再局限于官方demo里面给出的那些例子,你可以做出完全复合自己特定需求的数据可视化,而不再拘泥于格式和类别。比如下图就是我之前坐过的一个项目

所以我对D3.js想说的是,不建议新手从D3入门,但是推荐给熟练使用js的孩子和有很特定或者复制可视化需求的孩子。


  • 五号种子选手 ECharts

看到这个带baidu的域名相比大家也明白了,这是个咱国人自己做的库。同样,这个库也有大量的官方实例demo,而且看上图右边栏就知道了,几乎覆盖了常用可视化图表的所有类别,非常方便了。而且因为是国内的大牛们做的库,所以很多案例啊数据啊也更加本土化,在国内的孩子用起来应该会更方便一些。

不过还有两点我觉得很棒,首先这个库是完全开源免费的,无论是私用还是商用都可以。其次是ECharts有一个自己的社区,在这个社区里面用户可以上传自己制作的可视化案例和大家交流。也可以提问求助,还算是个挺活跃的社区。能和其他的人一起互动从来画图也没那么枯燥了是嘛

关于ECharts我稍微觉得不太方便的一点事,在官方案例的源代码中,只给了JavaScript的代码,不像前面提到的JSFIDDLE中把html,css和JavaScript代码分栏列的很清楚。




上面大致介绍了一下五个我个人常用的数据可视化的库。但是如果我说。。上面所有的库你其实都能在Excel用,并且可以用Excel里面的数据来画图,你相信么?

其实Excel上面有一个叫Funfun的插件,这个插件可以让用户直接在Excel里面编写并且运行JavaScript代码,也因此可以使用上面介绍的JavaScript的第三方的库。感兴趣的孩子可以看我另外的一个回答进去了解一下

以上,peace

编辑于 2018-01-23 06:38