ggplot2 extensions——ggstance

ggstance

ggstance实现常见的ggplot2 geoms的水平版本。

# Example from https://github.com/lionel-/ggstance

library(ggplot2)

library(ggstance)

# Vertical

ggplot(mpg, aes(class,hwy,fill = factor(cyl))) +

geom_boxplot()

图形展示如下:

也看看上述代码中的数据排布吧:

作出的图形如下:

图形展示如下:

再进入ggstance的详细网址:

https://github.com/lionel-/ggstance

ggstance实现常见的ggplot2 Geoms,Stats和Positions的水平版本。

Installation

Get the development version from Github with:

水平geoms

虽然coord_flip()只能作为一个整体翻转剧情,但ggstance提供了翻转版本的Geoms,Stats和Positions。 这使得构建水平层或使用垂直定位(例如垂直闪避)更容易。 此外,水平Geoms绘制水平传奇键,以保持你的情节外观一致。

Horizontal Geoms:

Horizontal Stats:

Vertical Positions:

Examples

Basics

要使用coord_flip()在ggplot2中创建水平图层,您必须提供美学效果,就好像它们要垂直绘制一样:

在ggstance中,您按自然顺序提供美学:

好像发现:ggproto和ggstance,有着相似的用法

Construct a new object with ggproto, test with is.proto, and access parent methods/fields with ggproto_parent.

Usage

ggproto实现了基于原型的面向对象系统,它可以模糊类和实例之间的界限。 它受到proto软件包的启发,但它有一些重要的区别。 值得注意的是,它干净地支持跨包继承,并且性能更快。

在大多数情况下,创建一个新的面向对象系统供一个包使用并不是一个好主意。 然而,这对于ggplot2来说是最差的解决方案,因为它需要对已经很复杂的代码库进行最少的更改。

调用方法

ggproto方法可以采用可选的自我参数:如果它存在,它是一个常规方法; 如果它不存在,则它是一个“静态”方法(即它不使用任何字段)。

想象一下你有一个ggproto对象加法器,它有一个方法addx = function(self,n)n + self $ x。 然后,为了调用这个函数,你可以使用Adder $ addx(10) - 由wrapper函数自动传入self。 自我位于函数签名的任何位置,尽管通常它是第一位的。

运行效果见下面:

还有部分只是点由于各种原因没有实现相关想法,以后有机会再加上吧。

这期先学习ggstance部分,下期ggalt待续。

本文参考资料选自:

http://ggplot2.tidyverse.org/index.html

参考文摘:

http://ggplot2.tidyverse.org/index.html

生信巢

您的支持和鼓励是我们最大的动力。喜欢就请关注我们吧~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180415G00QT200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券