前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggvis包—数据可视化交互

ggvis包—数据可视化交互

作者头像
DataCharm
发布2021-02-22 11:45:42
9270
发布2021-02-22 11:45:42
举报

简介

ggvis[1]是R的一个数据可视化包,它可以:

  • 使用与ggplot2类似的语法描述数据图形;
  • 创建丰富的交互式图形,在本地Rstudio或浏览器中使用这些图形;
  • 利用shiny的基础结构发布交互式图形。

ggvis 与 ggplot2主要区别

  • 基本命名转换:

ggplot

ggvis

geom

layer function

stat

compute function

aes

props

+

%>%

  • ggvis目前不支持分面;
  • 使用ggvis而不添加任何层类似于qplot

更详细的区别可见:http://ggvis.rstudio.com/ggplot2.html

这里先对包进行加载(可以直接使用instll.packages("")下载)

代码语言:javascript
复制
library(ggvis)
library(dplyr)

静态图

1 散点图

使用layer_points()绘制,其中内部参数都用默认值。注意这里ggvis(~wt, ~mpg)比ggplot多了一个波浪线。

代码语言:javascript
复制
mtcars %>% 
  ggvis(~wt, ~mpg) %>% 
  layer_points()

如果要加拟合线,和ggplot语法很类似,再加一层layer_smooths()

代码语言:javascript
复制
mtcars %>% 
  ggvis(~wt, ~mpg) %>%
  layer_points() %>%
  layer_smooths()

内部参数也很类似(se = TRUE加入拟合区间),拟合方式使用"lm"方法。

代码语言:javascript
复制
mtcars %>% 
  ggvis(~wt, ~mpg) %>%
  layer_points() %>%
  layer_model_predictions(model = "lm", se = TRUE)

2 分组的散点图

如果想要使用分组说明散点图,可以加入fill = ~factor(cyl)或者group_by(cyl)进行分布。

代码语言:javascript
复制
mtcars %>% 
  ggvis(~wt, ~mpg) %>% 
  layer_points(fill = ~factor(cyl))

如果想要预测每组数据拟合情况,可以使用ayer_model_predictions()

代码语言:javascript
复制
mtcars %>% 
  ggvis(~wt, ~mpg, fill = ~factor(cyl)) %>% 
  layer_points() %>% 
  group_by(cyl) %>% 
  layer_model_predictions(model = "lm")

3 柱状图

柱状图是使用layer_bars()函数,内部参数包括width(设置柱子宽度)等。

代码语言:javascript
复制
head(pressure)

pressure %>% 
  ggvis(~temperature, ~pressure) %>%
  layer_bars(fill := "#ff8080")
代码语言:javascript
复制
pressure %>% 
  ggvis(~temperature, ~pressure) %>%
  layer_bars(width = 15,fill := "#ff8080")

4 曲线图

使用layer_lines()绘制曲线图,当然你可以和散点图合并,效果更好。

代码语言:javascript
复制
pressure %>% ggvis(~temperature, ~pressure) %>% layer_lines()
代码语言:javascript
复制
pressure %>% ggvis(~temperature, ~pressure) %>%
  layer_points(size := 50) %>% 
  layer_lines()

5 直方图

使用layer_histograms()绘制直方图,内部参数包括width(柱子宽度),boundary(两个箱子之间的边界),center(柱子中央为中心)等。

代码语言:javascript
复制
head(faithful)

faithful %>% ggvis(~eruptions, fill := "#ff8080") %>%
  layer_histograms(width=0.25, boundary=0) %>% 
  add_axis("x", title = "month") %>%
  add_axis("y", title = "count")

代码语言:javascript
复制
faithful %>% ggvis(~eruptions, fill := "#90bff9") %>%
  layer_histograms(width=0.25, center=0) %>% 
  add_axis("x", title = "month") %>%
  add_axis("y", title = "count")

add_axis()可以设置坐标轴的名称等其他参数。

6 箱型图

使用layer_boxplots()绘制箱型图,具体内部参数再次不做具体陈述。

代码语言:javascript
复制
mtcars %>% 
  ggvis(~factor(cyl), ~mpg) %>% 
  layer_boxplots(fill := "#90bff9")

小编有话说

本篇推送参考ggvis cookbook[2],小编也只是一个搬运工。这篇主要是对该包中的常见图形进行静态展示,但是其实这个包更强大的功能在于交互式。鉴于本文内容较多,将在下次对这个包的交互使用进行详细解释。

参考资料

[1]

ggvis github: http://ggvis.rstudio.com

[2]

ggvis cookbook: http://ggvis.rstudio.com/cookbook.html

既往专辑

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 静态图
    • 1 散点图
      • 2 分组的散点图
        • 3 柱状图
          • 4 曲线图
            • 5 直方图
              • 6 箱型图
              • 小编有话说
                • 参考资料
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档