ggvis包学习笔记之初识ggvis

什么是ggvis包?

ggvis包的目标是为探索性数据分析提供一个简单的方式来建立可交互图。ggvis与ggplot2
基于类似的底层理论,可是在表达上略有不一样,并且添加了新的特性---图片可交互。ggvis
包归入了shiny可交互编程的模型以及dplyr包数据转换的内容。html

因ggvis包与ggplot2包有类似的底层理论,因此本笔记在介绍学习ggvis包的内容的时候,
都会与ggplot2包来做比较。编程

初识ggvis包?

ggvis包中建立图像的基本函数qvis(可能再也不支持了)与ggvis
而ggplot2包中建立图像的基本函数qplotggplot函数

library(ggvis)
#等价于下面的部分:layer_points(ggvis(mtcars, x = ~wt, y = ~mpg))
mtcars %>%
  ggvis(x = ~mpg, y = ~disp) %>%
  layer_points()

图片描述

library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = disp)) + geom_point()

图片描述

注:ggvis支持magrittr包中%>%符号的使用。学习

ggvis具体例子

例 1

library(dplyr)
mtcars %>%
  ggvis(x = ~mpg, y = ~disp) %>%
  mutate(disp = disp / 61.0237) %>%
  layer_points()

图片描述

  • 解释:变量名称前面使用~代表咱们不想随便使用mpg变量,而是咱们想要使用数据集中的mpg变量。这是ggvis包中的常规形式:老是使用这种格式表示数据集中变量。spa

  • 方便起见,ggvis函数中x=y=能够省略。3d

  • 上面的例子整合了dplyr包的mutate函数对数据集中的disp进行处理,可见利用%>%符号的方便之处。或许你和我同样有疑问:为何ggvis函数在mutate函数以前,那么ggvis函数使用的仍是修改过的disp吗?下面的例子将两个函数位置颠倒,最终图形一致。该例子中虽然颠倒顺序最终的图形是一致的,可是相信我,后面有的例子颠倒顺序结果是不同的,因此个人建议就是按照正常人的思路去使用%>%来串联数据处理与做图。所以本例子我我的(正常人)推荐后面这一种写法。code

library(dplyr)
mtcars %>%
  mutate(disp = disp / 61.0237) %>%
  ggvis(x = ~mpg, y = ~disp) %>%
  layer_points()

图片描述

ggplot2包做图命令以下:htm

library(dplyr)
temdata <- mtcars %>% mutate(disp = disp/61.0237)
ggplot(temdata, aes(mpg, disp))+
    geom_point()

图片描述

例 2

添加其余变量到其余可视化特性中例如fill、stroke、size、shape。blog

mtcars %>% ggvis(~mpg, ~disp, stroke = ~vs) %>% layer_points()

图片描述

ggplot(mtcars, aes(mpg, disp, colour = vs))+geom_point(shape=21, fill="black")

图片描述

  • stroke: 画笔颜色图片

mtcars %>% ggvis(~mpg, ~disp, fill = ~vs) %>% layer_points()

图片描述

ggplot(mtcars, aes(mpg, disp, colour = vs))+geom_point()

图片描述

  • fill: 填充颜色

mtcars %>% ggvis(~mpg, ~disp, size = ~vs) %>% layer_points()

图片描述

ggplot(mtcars, aes(mpg, disp, size = vs))+geom_point()

图片描述

  • size: 大小

mtcars %>% ggvis(~mpg, ~disp, shape = ~factor(cyl)) %>% layer_points()

图片描述

ggplot(mtcars, aes(mpg, disp, shape = factor(cyl)))+geom_point()

图片描述

  • shape: 形状

这四个参数在不一样的图形中是否都存在或者表明的图形属性都须要针对不一样的图形来看,如今就慢慢经过例子来掌握吧。

例 3

如何在上面提到的特性参数中使用原始值?opacity特性参数

mtcars %>% ggvis(~wt, ~mpg, fill := "red", stroke := "black") %>% layer_points()

图片描述

ggplot(mtcars, aes(wt, mpg))+geom_point(shape=21, fill="red", color="black")

图片描述

  • 若是你想用一个混合的colour或者size,你可使用:=代替=:=表示你想用一个原始的值而不是数据集中变量。

  • 若是不使用:=,并且你还使用了一个原始值,那么对不起,这个参数不会起做用,不信你就试一试吧。

mtcars %>% ggvis(~wt, ~mpg, size := 300, opacity := 0.7) %>% layer_points()

图片描述

ggplot(mtcars, aes(wt, mpg))+geom_point(size=7, alpha=0.7)

图片描述

  • opacity: 透明度

  • 若是将变量映射到opacity特性参数上须要注意,有一部分数据是显示不出来的,由于它们不透明度是0。

mtcars %>% ggvis(~wt, ~mpg, size := 300, opacity = ~cyl) %>% layer_points()

图片描述

ggplot(mtcars, aes(wt, mpg, alpha=cyl))+geom_point(size=7)

图片描述

本文主要内容来自:
http://ggvis.rstudio.com/ggvi...
http://ggvis.rstudio.com

相关文章
相关标签/搜索