簡體   English   中英

ggvis圖形與組選擇

[英]ggvis graphic with group selection

我想使用ggvis進行數據探索(因為我對ggplot2很熟悉),並且由於我的數據集中有很多組,因此能夠選擇和取消選擇組以進行不同的特定(數據)比較會很有幫助。

set.seed(10)
dat <- data.frame(x=c(1:3,1:3),y=rnorm(6),groups=factor(rep(1:2,each=3)))
library(ggvis)

dat  %>% ggvis(~x, ~y) %>% layer_points(fill=~groups)
# i know this example does not work - but is that possible somehow?
dat  %>% ggvis(~x, ~y) %>% layer_points(fill=input_checkbox(~groups))

最后,我想要的是一個圖形,通過該圖形可以使用單選按鈕(例如)選擇一組子集。 有什么辦法嗎? 謝謝!

文檔中

限制

當前,交互式輸入只能在兩個地方使用:

  1. 作為轉換的參數: layer_smooths(span = input_slider(0, 1))

  2. 作為屬性: props(size = input_slider(10, 1000))

這意味着交互式輸入只能修改數據,而不能修改基礎繪圖規范 換句話說, 僅憑基本交互性,就無法添加或刪除圖層或在不同數據集之間切換。 這是一個合理的限制,因為如果您要進行探索,則始終可以使用R代碼創建新的ggvis,或者如果要拋光顯示的圖,則可以將其嵌入Shiny應用程序中並獲得對該圖的完全控制權。


為了進行簡單的數據探索,一種想法是使用filter()

set.seed(10)
dat <- data.frame(x = c(1:5,1:5,1:5), 
                  y = rnorm(15), groups = factor(rep(1:5,each=3)))

注意 :我編輯了您的初始數據集以說明更多組的概念

library(dplyr)
library(ggvis)

dat %>% ggvis(~x, ~y) %>% layer_points(fill = ~groups)

在此處輸入圖片說明

您可以將參數(直接在R代碼中手動或在Shiny應用程序中使用單選按鈕)傳遞給filter()來隔離特定的組:

dat %>% 
  filter(groups == 1 | groups == 3) %>% 
  ggvis(~x, ~y) %>% layer_points(fill = ~groups)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM