数据是美丽的
Reddit 是美国的一个综合性论坛网站,网友戏称“美国贴吧”。我最近发现,这真是个宝藏网站。
它上面有很多话题节点,很多话题下都有丰富的内容。比如 learnprogramming 节点下,有很多人分享学习编程的资源和经验讨论。我之前发过两篇文章《我是如何在自学编程9个月后找到工作的》、《如何保持学习编程的动力》都是翻译自此节点的文章。尽管国情不同,但在学编程这件事都是相通的。
除了这个节点,最近我又沉迷另一个 dataisbeautiful 的节点,上面有大量数据可视化的作品。不过,由于网站是全英文,加上访问有些不稳定,估计大家看起来不大方便。所以我今天挑选最近看到的几个不错的可视化案例分享一下,都附了具体的链接供进一步了解。
这些案例大多兼具直观和设计感,值得欣赏,同时也可以给想做数据可视化的同学一些启发,学习别人的展示方式。除此之外,每个案例我都去找了相关的制作工具,如果你对其中某种效果感兴趣,可以用其工具自行模仿练习。
1
Franchise Earnings Comparison Over 20 Years
20年系列电影票房收入
这是一个动态展示,可以点击视频观看。漫威宇宙的增长势头一览无余。
数据:the-numbers.com、CPI计算器
工具:python: matplotlib
项目:
https://github.com/itaidagan/FranchiseRevenueComparison
原文:
https://www.reddit.com/r/dataisbeautiful/comments/bgf3ye/oc_franchise_earnings_comparison_over_20_years/
2
The average color of each frame of Game of Thrones season 8 episode 3
《权力的游戏》第8季第3集每帧平均颜色
权游最后一季广为吐槽,其中关键的第3集更是暗到看不清。于是有人做了这么一个统计,告诉你这一集到底有多“黑”。
工具:ffmpeg, python: PIL
项目:
https://github.com/lint/avg-color-bar
原文:
https://www.reddit.com/r/dataisbeautiful/comments/bjw7ct/the_average_color_of_each_frame_of_game_of/
3
How my salary of $11k per month is used in Seattle, WA, USA
在西雅图我每月1万1的工资是如何花销的
这种图叫做桑基图(Sankey diagram),常用来表示流程或流量分布。最近 Reddit 上很流行用此图来可视化世界各地人民的工资消费情况。
工具:SankeyMATIC
原文:
https://www.reddit.com/r/dataisbeautiful/comments/bpk5d7/how_my_salary_of_11k_per_month_is_used_in_seattle/
4
The Most Valuable Team
最有“价值”球队
在体育运动中经常会评选最有价值球员,但这里的最有“价值”球队指的是资产最高的球队。Top5这几年都是这五支,其中美国职业橄榄球大联盟的达拉斯牛仔队已经连续三年第一。
数据:福布斯球队价值排行
工具:Tableau
原文:
https://www.reddit.com/r/dataisbeautiful/comments/btkihh/the_most_valuable_teams_oc/
5
Rafael Nadal’s French Open dominance
纳达尔在法网中的优势
对比有限几项数值的不同常会用雷达图。这里展示了纳达尔费德勒、德约科维奇在澳网、美网、法网、温网中的相互战绩。
数据:维基百科
工具:D3.js
原文:
https://www.reddit.com/r/dataisbeautiful/comments/bthez5/rafael_nadals_french_open_dominance_he_won_11_out/
6
30 Years of the Music Industry, Visualised
音乐产业30年
以堆叠区域图的形式展现唱片产业中不同媒介形式的兴衰。从图上可以看到CD曾经的辉煌和衰落。另外有意思的是黑胶唱片在近几年有复兴的趋势。
数据:美国唱片业协会
工具:RAWGraphs、Excel
原文:
https://www.reddit.com/r/dataisbeautiful/comments/ble5y7/30_years_of_the_music_industry_visualised_oc/
7
4 years of texts between me and my long distance girlfriend throughout college
4年大学期间和异地女友的短信数据分析
一位异地恋的小哥,因为不认同女朋友说他总是发短信太少,居然做了一套短信分析系统,详细分析了他们四年间互发短信的数量、时间、表情和用词习惯等,并开放接口给大家使用。(前提是有个跟你互发消息的女朋友!)
工具:React(chart.js), Node/Express, Python
项目:https://leftonread.me
原文:
https://www.reddit.com/r/dataisbeautiful/comments/biou3e/4_years_of_texts_between_me_and_my_long_distance/
8
Gaussian distribution
高斯分布
高斯分布就是我们常说的“正态分布”。不过这里的高斯分布,是作者把高斯的画像中的像素颜色分布进行了动态可视化,类似PS等软件中的颜色直方图。
工具:anvaka.github.io/pixchart
项目:
https://github.com/anvaka/gauss-distribution
原文:
https://www.reddit.com/r/dataisbeautiful/comments/7ol3gy/gaussian_distribution_oc/
9
The City is Alive: The Population of Manhattan, Hour-by-Hour
城市是活的:纽约曼哈顿人口分时图
这是一个三维可视化,把人口数、时间和地点三个维度的数据,综合在一起展现了曼哈顿地区一周七天的人流变化。
数据:美国人口普查网站+地铁站人流数据
工具:Python + QGIS,网页版 Mapbox GL JS + D3.js
项目:
https://github.com/citrusvanilla/manhattanpopulationexplorer
原文:
https://www.reddit.com/r/dataisbeautiful/comments/8hys9k/the_city_is_alive_the_population_of_manhattan/
10
Cause of Death - Reality vs. Google vs. Media
死亡原因统计 - 现实 vs. 谷歌 vs. 媒体
这个图表分三个部分,把对于同一个问题,不同渠道的关注点不同进行了关联对比。现实中,大多数死因是心脏疾病和癌症,而谷歌上的数据,癌症独高,媒体上报道最多的则是凶杀和恐怖袭击。
数据:美国疾病控制与预防中心、谷歌、卫报和纽约时报
工具:Python 3.6, numpy, pandas, matplotlib, imageio
项目:
https://github.com/aaronpenne/data_visualization/tree/master/cause_of_death
原文:
https://www.reddit.com/r/dataisbeautiful/comments/8cwcbu/cause_of_death_reality_vs_google_vs_media_oc/
11
Heatmap of numbers found at the end of Reddit usernames
Reddit用户名结尾数字热力图
这是对Reddit上的用户名进行了统计,看看什么样的数字结尾被用的最多。一眼直观就能看出:123、666、999,以及198~2017等数字都比较高。比较奇怪的是69、420也出奇的高,搜了下我才知道这和Reddit自身的黑话有关(具体就不便说了)。
数据:Kaggle: reddit-usernames
工具:python: matplotlib + seaborn
项目:
https://github.com/colinmorris/reddit-username-suffixes
原文:
https://www.reddit.com/r/dataisbeautiful/comments/7sewjx/heatmap_of_numbers_found_at_the_end_of_reddit/
以上仅仅是此节点上数据可视化案例的冰山一角,有兴趣的同学也可以自己去挖掘。如果大家喜欢这些内容,下次我再抽空搜罗些更有意思的过来。