找回密码
 注册
查看: 3349|回复: 1

一个简单的GUI 例子 基于R的gWidgets包

[复制链接]
发表于 2013-5-31 16:43:44 | 显示全部楼层 |阅读模式
library(gWidgets)
## set up
gui_plot<-function(){
availDists <- c(Normal="rnorm", Exponential="rexp")
availKernels <- c("gaussian", "epanechnikov", "rectangular",
"triangular", "biweight", "cosine", "optcosine")

updatePlot <- function(h,...) {
x <- do.call(availDists[svalue(distribution)],list(svalue(sampleSize)))
plot(density(x, adjust = svalue(bandwidthAdjust),
kernel = svalue(kernel)),main="Density plot")
rug(x)
}

distribution <- gradio(names(availDists), horizontal=F, handler=updatePlot)
kernel <- gcombobox(availKernels, handler=updatePlot)
bandwidthAdjust <- gslider(from=0,to=2,by=.01, value=1, handler=updatePlot)
sampleSize <- gradio(c(50,100,200, 300), handler = updatePlot)

window <- gwindow("gWidgetsDensity")
BigGroup <- ggroup(cont=window)
group <- ggroup(horizontal=FALSE, container=BigGroup)
tmp <- gframe("Distribution", container=group)
add(tmp, distribution)

tmp <- gframe("Sample size", container=group)
add(tmp,sampleSize)
tmp <- gframe("Kernel", container=group)
add(tmp,kernel)
tmp <- gframe("Bandwidth adjust", container=group)
add(tmp,bandwidthAdjust, expand=TRUE)
add(BigGroup,ggraphics())
}
gui_plot()




gui_plot.png

主要是滑动条 可以自由变化
回复

使用道具 举报

发表于 2013-6-7 16:14:23 | 显示全部楼层
楼主威武 赞一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 13:06 , Processed in 0.032272 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表