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
生信巢
您的支持和鼓励是我们最大的动力。喜欢就请关注我们吧~
领取专属 10元无门槛券
私享最新 技术干货