1

これは非常に明白なことかもしれませんが、 の機能の使用方法を説明する適切なリソースを見つけるのに苦労しています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 (これは MeanFrameMelt です)

ここに画像の説明を入力

編集2: これは、グラフが私にとってどのように見えるかです。何が起こっているのかわかりません。次のdata.frameコマンドでエクスポートしています。

write.table(MeanFrameMelt, file="test.cvs", sep=",", col.names=TRUE)

しかし、エクスポートされたファイルで実行すると、agstudy が得たものとまったく同じになります。ファイルは同一であると想定されています。

ここに画像の説明を入力

編集3:

gputでテストし(提案をありがとう)、正しいプロットを作成しています: 新しいファイル

使用するdget(file="test.txt")

4

1 に答える 1

1

コードを再編成しましたが、問題を再現できません。後でユーザーとやり取りするには、handelr 内でプロット アクションを呼び出す必要があります (例: zoom 、マウス イベント)。ここで例を示します。初めて実行すると、醜い軸を持つプロットが表示されます。次に、領域をクリックすると、プロットが更新され、適切な軸が表示されます。

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

ここに画像の説明を入力

于 2013-01-12T09:52:11.750 に答える