2016-05-01 3 views
2

ggplot2を使用して、elcapitanを実行しているMacにフォレストプロットを作成しています。 背景に淡い縦線があります。これはグリッド線ではありません。これは「テーマ」の設定です:プロットggplot2の背景にアーチファクトグレーの線があります。grid.arrange R Mac OSx石英

theme_set(theme_bw()) 
theme_update(
    axis.line = element_line(colour = "black"), 
    axis.line.y=element_line(colour="white"), 
    panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank(), 
    panel.border = element_blank(), 
    panel.background = element_blank(), 
    axis.text.y = element_blank(), 
    axis.ticks.y = element_blank(), 
    plot.margin = unit(c(0,0,0,0), "lines") 
) 

これらの灰色の線を取り除く方法に関するアイデアはありますか? このボードとRとggplot2の初心者です - サンプルデータと私のコードをロードするのは楽しいですが、ここで役に立つかどうかは分かりません。

プロットのスクリーンショット:

enter image description here

コードのためのサンディエゴの質問に応答したUPDATE:

このコードは、Mattの統計からコードやものに基づいていた - https://mcfromnz.wordpress.com/2012/11/06/forest-plots-in-r-ggplot-with-side-table/ - 私彼の元のコードへのリンクを見つけることができません。

theme_set(theme_bw()) 
theme_update(
    axis.line = element_line(colour = "black"), 
    axis.line.y=element_line(colour="white"), 
    panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank(), 
    panel.border = element_blank(), 
    panel.background = element_blank(), 
    axis.text.y = element_blank(), 
    axis.ticks.y = element_blank(), 
    plot.margin = unit(c(0,0,0,0), "lines") 
) 
pD<- ggplot(datD,aes(cen,rev(author2))) + 
     geom_point(aes(fill = summary), size=1.7,shape=23,colour="black") + 
     geom_errorbarh(
     aes(xmax = datD$high, xmin = datD$low, colour=summary), 
     height = 0.3, size=0.25) + 
     scale_x_continuous(
     breaks = seq(0,1,.1), labels = seq(0,100,10)) + 
     labs(x="Risk, %", y="") + 
    theme(axis.text.x=element_text(size=2))+geom_text(aes(0, author2), label=(paste(rev(datD$author2),rev(datD$risk))), hjust=0, size=ifelse(rev(datD$author2)=="Heterogeneity (95% CI)",2,0), fontface="bold") 

p2D<-pD+ 
    theme(legend.position = "none", 
     axis.text.x = element_text(size=6), 
     axis.title = element_text(size=6,face="italic")) + 
    guides(size = FALSE) + 
    geom_hline(aes(yintercept=c((length(datD$authorREF2)-0.5)))) 
     
#Left hand side will be author_yr, Events, Participants 
    #V0 indicates how many y-axis datapoints there willbe 
    #V05 spaces out the table columns on the x-axis 
    #V1 is a vector of all the columns that will be in the table 
lab_left1D<-data.frame(
      V0 = factor(
       c(as.factor(1:length(datD$authorREF2))), 
       levels=c(as.factor(length(datD$authorREF2):1)) 
        ), 
      V05 = rep(
        c(1,1.25,1.5,1.7), 
        each=length(datD$authorREF2) 
        ), 
      V1 = c(c(as.character(datD$authorREF2)), 
        c(as.character(datD$Events)), 
        c(as.character(datD$patients)), 
        c(as.character(datD$risk)))) 

data_table_left1D<-ggplot(lab_left1D, 
         aes(x = V05, y = V0, 
         label = format(V1, nsmall = 1))) + 
       geom_text(
        aes(fontface = 
         ifelse(
          V0==as.character((length(datD$authorREF2)-1)),'bold.italic', 
          ifelse(V0=='1','bold', 
          ifelse(V0==as.character 
             (length(datD$authorREF2)),'italic','plain')))), 

         size = ifelse(
         lab_left1D$V0==as.character(length(datD$authorREF2)),0,2),         hjust=0, vjust=1.3) +     theme_bw() + 
           theme(panel.grid.major = element_blank(), 
             legend.position = "none", 
             panel.border = element_blank(), 
        #axis.line = element_line(colour = "black"), 
             axis.text.x = element_text(colour="white"),#element_blank(), 
             axis.text.y = element_blank(), 
             axis.ticks = element_line(colour="white"),#element_blank(), 
             plot.margin = unit(c(0.5,0,0,0), "lines")) + 
                labs(x="",y="") + 
              coord_cartesian(xlim=c(1,2.5)) 

grid.arrange(data_table_left1D, p2D,widths=c(5,3)) 

dev.off() 
+1

左側のggplotにはまだ大きなグリッド線が設定されているようです。実際のコードを掲示すれば本当に助けてくれるはずです。私たちは、他にどこに大きなグリッド線が戻ってくるかを紹介しているかもしれません。 – hrbrmstr

+0

私はグリッド線ではないと思います。それはRがどのように石英にレンダリングするかと関係していると思いますMac-- – HanzMoleman

+0

私はMacを使用しています。それは本当に興味深い形式のコードです。あなたが[this](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を見たことがあるかどうかはまだ分かりませんが、Rで作業する方法を説明するのに役立ちますSO Q&Aフォーラムのサイド。 – hrbrmstr

答えて

1

少なくとも再現可能な例は、面白く書式設定されたコードの幅よりも役立ちます。

library(ggplot2) 
library(ggthemes) 
library(gridExtra) 

gg <- ggplot() 
gg <- gg + geom_text(data=data.frame(x=1, y=1, label="label"), 
        aes(x, y, label=label)) 
gg <- gg + theme_map() 
gg_left <- gg 

gg <- ggplot() 
gg <- gg + geom_point(data=mtcars, aes(mpg, wt)) 
gg <- gg + theme_bw() 
gg_right <- gg 

grid.arrange(gg_left, gg_right, ncol=2) 

enter image description here

あなたが見ることができるように、私は、Mac上でだとさえ、「純粋な石英窓」を生成するR.appでそれをテストするためにRStudioの快適さを残しました。

私はあなたのコードを再編成し、コアプロットを作業してから、あなたが望むテーマを適用するには、&ペーストコードを使用します。

+0

質問とそのアドバイスについてのガイダンスをお寄せいただきありがとうございます。 – HanzMoleman

+0

Hrbrmstr--私はpanel.grid.minor = element_blank()が含まれていないため、グリッドが表示されています。体系的にこれを把握するためのアドバイスは素晴らしい学習ポイントでした。 – HanzMoleman