作者:Alark Joshi 翻译:陈雨琳 校对:吴金笛
本文2200字,建议阅读8分钟。
本文将介绍实现数据可视化的软件包。
这学期(2018学年春季学期)我教授了一门关于数据可视化的数据科学硕士课程。我们的数据科学硕士项目是一个为期15个月的强化项目,这个项目已经成功地培养了许多优秀的数据科学家。
该项目的学生背景多元,并且他们在上这门课前都对R和Python有了很深入的理解。通过各种课程的学习,他们已经能够熟练使用ggplot2和matplotlib,为学习大型多变量数据可视化打下了基础。
作为一个数据可视化的研究者,我想要介绍所有那些在数据可视化领域涌现的绝妙技术。因此,我的课程的其中一部分将会是基于研究论文,在线可视化和d3示例的讲座。
Python中的数据可视化
现在大部分的数据可视化研究都是通过D3进行的。遗憾的是,我只有短短8周跟学生相处的时间,所以我只能专注于讲授理论和实践相结合的内容来帮助他们成为数据科学家。虽然学生乐于使用可视化技术探索并解释问题,但他们中的大多数对于使用D3创建美丽的自定义可视化不太感兴趣。根据之前教授这门课的教授反馈来看,在这么短的时间内教授D3是不可能的。
鉴于我自己对Python的热爱和Python给学生带来的舒适体验,我决定向他们介绍Python中神奇的(我希望是的!)软件包,它们可以实现所有我向学生展示的内容。
Seaborn的静态可视化
鉴于我过去使用seaborn的经验,我很高兴能够向学生介绍seaborn产生的美丽的可视化图案。 他们已经有了使用matplotlib的经验,所以学习seaborn时很容易,且优势巨大。 学生能够制作散点图(双变量和多变量),swarmplots,小提琴图,条形图,箱形图和带有刻面的直方图。他们了解到,使用大型数据集生成swarmplots非常耗时,而基于摘要的图(如小提琴图)是更好的选择。
Seaborn中的可视化技术示例
用Bokeh或Plot.ly实现交互式可视化
虽然seaborn能够产生美丽的可视化图形,但它们都是静态的。我希望学生体验使用交互技术(如梳理,过滤,缩放和悬停)的好处。为此,我介绍了可视化库Bokeh和Plot.ly,利用它们可以轻松实现交互式数据可视化。对于时间序列可视化分配,学生可以选择使用Bokeh或 plot.ly来实现多线图(multi line charts),热图(heatmaps),动画气泡图(animated bubble charts)等。
使用plot.ly创建的可视化示例