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")
)