R 通过创建绘图对象(例如p)并添加带有+的图层和适当的调用来创建图层。您可以从这里开始查看:+1以获得一般解决方案。虽然我想你最好稍后再提到gWidgets的东西,因为它可能会让人分心。我一直在研究gWidgets2,看起来它可以使用它。如果你愿意的话,我只

R 通过创建绘图对象(例如p)并添加带有+的图层和适当的调用来创建图层。您可以从这里开始查看:+1以获得一般解决方案。虽然我想你最好稍后再提到gWidgets的东西,因为它可能会让人分心。我一直在研究gWidgets2,看起来它可以使用它。如果你愿意的话,我只,r,checkbox,ggplot2,R,Checkbox,Ggplot2,通过创建绘图对象(例如p)并添加带有+的图层和适当的调用来创建图层。您可以从这里开始查看:+1以获得一般解决方案。虽然我想你最好稍后再提到gWidgets的东西,因为它可能会让人分心。我一直在研究gWidgets2,看起来它可以使用它。如果你愿意的话,我只是需要帮助实现它。cran.r-project.org/web/packages/gWidgets/vignettes/gWidgets.pdf。在第16页,他们用图表进行对话。我不完全确定如何用我的ggplot实现这一点,并使复选框打开和关闭


通过创建绘图对象(例如
p
)并添加带有
+
的图层和适当的调用来创建图层。您可以从这里开始查看:+1以获得一般解决方案。虽然我想你最好稍后再提到gWidgets的东西,因为它可能会让人分心。我一直在研究gWidgets2,看起来它可以使用它。如果你愿意的话,我只是需要帮助实现它。cran.r-project.org/web/packages/gWidgets/vignettes/gWidgets.pdf。在第16页,他们用图表进行对话。我不完全确定如何用我的ggplot实现这一点,并使复选框打开和关闭每个数据系列。
操纵
方法是最简单的,但没有“从多个中选择0,1或更多”小部件,因此使用复选框。(在
gWidgets2
中有
gcheckboxgroup
可以使用复选框或表格小部件进行渲染。)使用
ggplot2
时,您可能希望通过创建绘图对象(例如
p
)并使用
+
和适当的调用来有条件地添加图层。您可以从这里开始查看:+1以获得一般解决方案。不过我想你最好稍后再提到gWidgets的东西,因为它可能会让人分心。
manipulate((ggplot(MeanFrameMelt, aes(x=variable, y=value, 
           color=id))+ geom_point()), 
           id = checkbox(FALSE, "File1"))
id  variable    value
1   file1   V1  0.04114207
2   file2   V1  0.31830645
3   file3   V1  0.05797068
4   file1   V2  0.04138554
5   file2   V2  0.31510753
6   file3   V2  0.05830449
7   file1   V3  0.04157882
8   file2   V3  0.31220430
9   file3   V3  0.05865419
10  file1   V4  0.04177334
11  file2   V4  0.31117608
12  file3   V4  0.05900918
manipulate(
   barplot(as.matrix(longley[,factor]), 
           beside = TRUE, main = factor),
   factor = picker(1,2,2:3))
manipulate(matplot(foo[,1],foo[,c(which(c(fp2,fp3)==1))],t='l'), 
           fp2 = checkbox(TRUE,'col2') ,
           fp3 = checkbox(TRUE,'col3'))
library(TeachingDemos)
tklist <- rep( list(list('checkbox',init="T")), 3 )
names(tklist) <- levels( MeanFrameMelt$id )

tkfun <- function(...) {
    w <- c(...)
    w2 <- names(w)[w]
    df <- MeanFrameMelt[ MeanFrameMelt$id %in% w2, ]
    print(ggplot(df, aes(x=variable, y=value,
                  color=id)) + geom_point() )
}

tkexamp( tkfun, tklist )
tkexamp( tkfun, list(id=tklist), plotloc='left' )
tkfun <- function(...) {
  w <- c(...)
  w2 <- names(w)[w]
  df <- MeanFrameMelt[ MeanFrameMelt$id %in% w2, ]
  print(ggplot(df, aes(x=variable, y=value, colour=id)) + geom_point() +
    scale_colour_discrete(drop=FALSE) + 
    ylim(range(MeanFrameMelt$value))
  )
}
require(gWidgets2) ## from github
options(guiToolkit="Qt") ## other choices too
source(system.file("examples", "manipulate.R", package="gWidgets2"))

manipulate({
  plot(mpg ~ wt, mtcars)
  if(do_lm)
    abline(lm(mpg ~ wt, mtcars))
  if(do_loess)
    with(mtcars, lines(lowess(wt, mpg)))
  ## ...
},
           do_lm=checkbox("Add regression line"),
           do_loess = checkbox("Add lowess fit")
           )