ggvis包—数据可视化交互

简介: ggvis[1]是R的一个数据可视化包,它可以:• 使用与ggplot2类似的语法描述数据图形;• 创建丰富的交互式图形,在本地Rstudio或浏览器中使用这些图形;• 利用shiny的基础结构发布交互式图形。

简介


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("")下载)

library(ggvis)
library(dplyr)


静态图


1 散点图

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

mtcars %>% 
  ggvis(~wt, ~mpg) %>% 
  layer_points()

image.gif

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

mtcars %>% 
  ggvis(~wt, ~mpg) %>%
  layer_points() %>%
  layer_smooths()

[HYWE[(B_HC%1V[{M7RTEBE.png

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

mtcars %>% 
  ggvis(~wt, ~mpg) %>%
  layer_points() %>%
  layer_model_predictions(model = "lm", se = TRUE)

image.gif

2 分组的散点图

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

mtcars %>% 
  ggvis(~wt, ~mpg) %>% 
  layer_points(fill = ~factor(cyl))

$4IVMJKRJF9Y]$@)SJG_T$S.png

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

mtcars %>% 
  ggvis(~wt, ~mpg, fill = ~factor(cyl)) %>% 
  layer_points() %>% 
  group_by(cyl) %>% 
  layer_model_predictions(model = "lm")

AJ7GIVRJCK8$`}246ML[O]3.png


3 柱状图

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

head(pressure)
pressure %>% 
  ggvis(~temperature, ~pressure) %>%
  layer_bars(fill := "#ff8080")

image.gif

pressure %>% 
  ggvis(~temperature, ~pressure) %>%
  layer_bars(width = 15,fill := "#ff8080")

@$N}BIGW7IZ~}FX_68C[9)N.png


4 曲线图

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

pressure %>% ggvis(~temperature, ~pressure) %>% layer_lines()

{{6PRNA189UV00Z]BTVK@`L.png

pressure %>% ggvis(~temperature, ~pressure) %>%
  layer_points(size := 50) %>% 
  layer_lines()

image.gif

5 直方图

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

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

IFE$Q8WU_RF1TR0SDOV$}UE.png

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

)CQCES7D}Q0Z6SLYBK3VJ2Q.png

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


6 箱型图

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

mtcars %>% 
  ggvis(~factor(cyl), ~mpg) %>% 
  layer_boxplots(fill := "#90bff9")

21X$QXJG}1HE)Z0SU7D$W3O.png

目录
相关文章
|
5月前
|
JSON 数据可视化 前端开发
构建一个动态数据可视化仪表板
构建一个动态数据可视化仪表板
|
2月前
|
存储 JSON 数据可视化
纯Python轻松开发实时可视化仪表盘
纯Python轻松开发实时可视化仪表盘
|
3月前
|
数据采集 存储 自然语言处理
Python爬虫与数据可视化:构建完整的数据采集与分析流程
Python爬虫与数据可视化:构建完整的数据采集与分析流程
|
5月前
|
数据可视化 Python
Python制作数据可视化大屏(二)
Python制作数据可视化大屏
|
Web App开发 数据可视化 前端开发
前端数据可视化插件(四)关系图
前端数据可视化插件(四)关系图
前端数据可视化插件(四)关系图
|
5月前
|
数据可视化 Linux Go
图表的魔力:探索Python数据可视化技术与库
在当今数据驱动的世界中,数据可视化成为了解和传达信息的关键工具。本文将重点介绍Python中两个强大的数据可视化库:Seaborn和Plotly。我们将探索它们的功能和特点,并展示如何使用它们创建各种吸引人且有洞察力的图表和可视化效果。
|
12月前
|
监控 数据可视化 JavaScript
内网控制软件的数据可视化:使用D3.js创建交互式图表
在现代企业中,数据管理和可视化变得至关重要。内网控制软件的用户权限管理和监控是确保安全性的关键部分。但如何有效地管理和可视化数据呢?本文将介绍如何使用D3.js创建交互式图表,以实现内网控制软件的数据可视化。
198 1
|
数据可视化 前端开发 JavaScript
前端数据可视化的工具和库
前端数据可视化的工具和库
299 0
|
数据可视化 前端开发 JavaScript
前端封装库/工具库的数据可视化之AntV
当今,数据可视化已不再是一个陌生的词汇,它已经成为了越来越多业务场景下必不可少的一部分。在前端开发中,数据可视化也有着广泛的应用,AntV 就是其中的佼佼者之一。
1651 0
|
数据可视化 前端开发 JavaScript
封装库/工具库中重要概念之数据可视化
数据可视化是现代数据分析的重要手段之一,它能够将复杂的数据以图形化的形式呈现,使用户更加直观地理解数据。在前端开发中,封装库/工具库可以帮助我们更加高效地开发数据可视化应用。
99 0
下一篇
无影云桌面