织女星现成的统计图形集
altair-recipes的Python项目详细描述
Vega现成的统计图形集。
vega 是一个用于web的统计图形系统,这意味着绘图将显示在浏览器中。作为一个额外的好处,它增加了交互,同样通过网络技术:选择数据点,显示悬停信息等。交互和网络显然是统计图形的未来。即使是著名的r的 ggplot 的继承者, ggvis 也基于 vega
Altair是一个python包,它可以生成vega图形。与 vega 一样,它采用了一种称为 图形语法的统计图形描述方法,该方法是其他著名软件包(如r的 ggplot 的基础)的一个非常有用的折衷方案。其元素包括数据、标记(点、线)、编码(数据与标记之间的关系)、刻度等。
有时我们想跳过所有这些,只需通过调用:
boxplot(data.iris(), columns="petalLength", group_by="species")
因为:
- 这是一种众所周知的统计图形,每个人都可以在飞行中识别和理解。
- 在统计图形方面,创造力是好的,就像在许多其他努力中一样,但也很危险:还有更多的 坏图表 比好图表好。图形的语法不保险。
- 虽然在牵牛星上组合一个盒形图很简单,但它并不简单:有矩形、垂直线、水平线(胡须)、点(离群点)。每个元素都与不同的数据统计相关。它大约有30行代码,除非运行它们,否则很难判断您正在查看的是BoxPlot。
- 一个人并不总是需要图形语法所能提供的控制有时我需要尽快看到一个方块图。其他的,例如准备出版物,当我需要控制每一个细节时。
方块图并不是唯一的例子。散点图、分位数图、热图是数据分析实践中经过实战检验的重要习语。他们应该有自己的抽象概念。提供语法级以上抽象的其他包有:
- 例如,seaborn和pandas的图形子集都提供了高级统计图形原语(高于图形语法),它们非常成功(但不是基于web)。
- ggplot ,即使是以图形的语法命名的,也会滑进一些更复杂的图表中,假装它们是语法的元素,例如 geom_boxplot ,因为有时甚至r开发人员都很懒。但是盒形图不是一个 几何图形或标记。这是几个因素,某些统计数据等等的组合。我怀疑《牵牛星》的作者比混合这两个层次更清楚。
牛郎星食谱的目的是在充分利用其特点的同时填补牛郎星食谱上方的空白。它提供了越来越多的"经典"统计图形列表,而没有深入到语法层面。同时,希望随着时间的推移,它能够成为 Altair 的示例和模型最佳实践的存储库,Altair是其 库的可计算形式 。
还有一件事。所有这些著名的图表类型都可以在键盘上一键使用是很好的,但是我们仍然需要决定使用哪种类型的图形,在某些情况下,还要决定数据中的变量和图形中的通道之间的关联(什么变成坐标,什么变成颜色等等)。这仍然是工作,事情仍然可能出错,有时是以微妙的方式。输入 autoplot 。 autoplot 检查数据,选择合适的图形并生成它。虽然没有人声称结果是最优的,但它会做出合理的选择,避免常见的陷阱,比如 散点图中的重叠点 。尽管有一些有趣的研究工作旨在描述给定数据集的最佳图形,但他们的目标比仅仅从预定义图形类型库中选择更为雄心勃勃,而且相当复杂。因此,此时,autoplot是基于一组从几十年的经验中得出的合理的启发式方法,例如:
- 使用条形图和散点图显示连续数据,条形图显示离散数据
- 使用"不透明度"来抵消标记重叠,但不使用离散颜色贴图
- 当重叠量过高时,切换到摘要(计数和平均值)
- 对离散数据使用面
autoplot 正在进行中,可能永远都会进行,最欢迎反馈。用它生成的大量图表可以在 示例页的末尾找到,应该能很好地说明它的作用。特别是,在第一次迭代中,我们不会尝试检测数据集是否表示函数或关系,因此,与折线图相比,散点图更受欢迎。此外,对于等距数据(如时间序列)没有特殊支持。