作者:
鲁伟
,热爱数据,坚信数据技术和代码改变世界。R语言和Python的忠实拥趸,为成为一名未来的数据科学家而奋斗终生。个人公众号:数据科学家养成记 (微信ID:louwill12)
看到标题你可能会有疑问,ggplot2的水平版本又是什么鬼,其实没那么玄乎,就是把正常的ggplot2图形翻转一下,横着放。类似于柱状图和条形图那样的区别。
或许你还有疑问,不就是把 ggplot2 图形水平放置吗有必要单独拎出来讲?硬要说其实也没那个必要,但为了介绍 ggstance 这款延伸包,小编觉得还是有必要拿出来讲一讲的。ggplot2 本身自带的 coord_flip( )函数并不能很好的实现转换,后者大多时候都是将图形整体翻转,一涉及到更加细致的图形,其简单的整体翻转并不能达到效果,这时候我们可能就需要 ggstance 包来实现了。
我们需要从GitHub上获得ggstance包的安装。
devtools::install_github("lionel-/ggstance")
ggstance 的水平图形属性和统计函数可以方便的绘制水平 ggplot2 图形,具体如下:
水平几何图形:
-
geom_barh( )
-
geom_histogramh( )
-
geom_linerangeh( )
-
geom_errorbarh( )
-
geom_crossbarh( )
-
geom_boxploth( )
-
geom_violinh( )
水平统计函数:
-
stat_binh( )
-
stat_boxploth( )
-
stat_counth( )
-
stat_xdensity( )
-
stat_summaryh( )
垂直位置函数:
-
position_dodgev( )
-
position_nudgev( )
-
position_fillv( )
-
position_stackv( )
-
position_jitterdodgev( )
大家发现了吧,只是在正常的 ggplot2 函数后面加上了一个 h 表示水平展示就 okay了!
一些情况下我们使用 ggplot2 里面的 coord_flip( ) 函数即可实现坐标系的翻转,把图形水平展示。
# 图形垂直陈列
ggplot(mpg, aes(class, hwy, fill = factor(cyl))) +
geom_boxplot()
# coord_flip()函数水平陈列
ggplot(mpg, aes(class, hwy, fill = factor(cyl))) +
geom_boxplot() +
coord_flip()