这可能是非常明显的事情,但我很难找到一个很好的资源来解释如何使用gwidgets
的功能。在一些帮助下,我有了这个脚本,它创建了一个复选框,用于修改文件名列表,然后使用ggplot
创建已检查文件的图表。问题是情节在右边缘被切断,我不知道如何解决这个问题。
编辑:我看到你们中的一些人一直忙着给我评分,但是如果你用我提供的文件运行它,现在应该可以了。我怀疑这个问题来自于cairoDevice
以及ggraphics渲染情节的方式。
read.table("foo.csv", header = TRUE, sep = ",", row.names=1)
ggplot(MeanFrameMelt, aes(x=variable, y=value, color=Legend, group=Legend))+
geom_line()+
theme(panel.background = element_rect(fill='NA', colour='black', size = 1),
legend.position = "none")+
ylab("Tag Density (mean coverage/bp)")+
xlab("Distance from reference side (bp)")+
scale_x_discrete(breaks=c("V1", "V200", "V400"), labels=c("-10000", "0", "10000"))+
GraphFiles <- FileNamesOrig
w <- gwindow("Tag Density Checkboxes", width = 1000)
g <- ggroup(container = w, horizontal = FALSE)
add(g, ggraphics())
lyt <- glayout(container = g, horizontal = FALSE)
print(p)
foo.cvs (this is the MeanFrameMelt)
编辑2:
这就是图表对我来说的样子。我不知道发生了什么,我用这个命令导出data.frame
:
write.table(MeanFrameMelt, file="test.cvs", sep=",", col.names=TRUE)
但是当我用导出的文件运行它时,我得到了agstudy所得到的。文件应该是相同的。
编辑3:
使用gput测试它(感谢您的建议),现在它创建了正确的情节: New file
使用dget(file="test.txt")
答案 0 :(得分:1)
我刚刚重组了你的代码,但我无法重现这个问题。你必须在handelr中调用绘图动作以便稍后与用户交互(例如缩放,鼠标事件)。我在这里展示一个例子。 第一次跑步时,你的情节会有一个丑陋的轴。然后,当您单击某个区域时,该图表将刷新,并且您有一个漂亮的轴。
## I define my plot
p <- ggplot(MeanFrameMelt, aes(x=variable, y=value, color=Legend, group=Legend))+
geom_line()+
theme(panel.background = element_rect(fill='NA', colour='black', size = 1),
legend.position = "none")+
ylab("Tag Density (mean coverage/bp)")+
xlab("Distance from reference side (bp)")
## init gwidgets
library(gWidgetsRGtk2)
w <- gwindow("Tag Density Checkboxes", width = 1000)
g <- ggroup(container = w, horizontal = FALSE)
gg <- ggraphics(container=g)
lyt <- glayout(container = g, horizontal = FALSE)
## I plot it the first time
print(p)
## I add a handler
ID <- addHandlerChanged(gg, handler=function(h,...) {
p <- p + scale_x_discrete(breaks=c("V1", "V200", "V400"),
labels=c("-1000", "0", "1000"))
print(p)
})
print(p)