6

ggplotFive Thirty Eight と同様にプロットする広範なテーマを作成しました。を使用せずに、プロットの端に触れずに、フッターの上に中央に配置され、プロットの 85% を横切る線を描画ggthemesするにはどうすればよいですか? linesGrobこのプロットに似たフッターを目指しています。ここに画像の説明を入力

フォントのテキスト、色、およびサイズを編集できるので、心配する必要はありません。

これまでのところ、私が持っているのはこれです:

data(iris)

library(ggplot2)
library(grid)
library(gridExtra)

plot20 <- ggplot(iris,aes(x=Petal.Length,y=Sepal.Length,color=Species)) +
  geom_point(alpha=0.5,size=5) +
  ylab("") +
  xlab("") +
  theme(panel.grid.minor.y=element_blank(),
        panel.grid.major.x=element_line(color="#D2D2D2",size=0.7),
        panel.grid.major.y=element_line(color="#D2D2D2",size=0.7),
        panel.grid.minor.x=element_blank(),
        panel.background = element_rect(fill = '#F0F0F0',colour=NA),
        plot.background = element_rect(fill = '#F0F0F0', colour=NA, size = 4),
        legend.background=element_rect(fill="#F0F0F0"),
        legend.key=element_blank(),
        legend.title=element_text(face="bold"),
        axis.text=element_text(face="bold"),
        legend.position="none",
        axis.ticks=element_blank())

#Plot Header
my_g2 <- grobTree(rectGrob(gp=gpar(fill='#F0F0F0',col=NA)),
                  textGrob("Iris Dataset",x=0.115, vjust = -0.5,gp=gpar(fontsize=18,fontface="bold")),
                  textGrob("This is a subheader for the iris dataset",x=0.235,vjust=1.5,gp=gpar(fontsize=14)))

#Plot Footer
my_g1 <- grobTree(rectGrob(gp=gpar(fill="#F0F0F0",col=NA)),
                  textGrob("    medavis6",x=0,hjust=0,gp=gpar(col="darkorange",fontsize=8,fontface="bold")),
                  textGrob("Source: R",x=.85,hjust=-1.06,gp=gpar(col="black",fontsize=8)))

#Plot All Together
allplot <- grid.arrange(my_g2,plot20,my_g1,heights=c(1.17,11,0.5))

これは私にこれを与えます。

ここに画像の説明を入力

linesGrob()フッター内で使用する必要があると思いますgrobTree()が、それを実行しようとすると、プロットに表示できません。私がrectGrob()その上にプロットしているのか、それとも何が起こっているのかわかりません。

助けてくれてありがとう。説明が必要な場合はお知らせください。また、私のコードのいずれかが不十分に書かれている場合は、それを改善するための建設的な批判を常に探しています!

4

1 に答える 1

5

私も使ったlinesGrob

#Plot Footer
my_g1 <- grobTree(rectGrob(gp=gpar(fill="#F0F0F0",col=NA)),
                  linesGrob(unit(c(.05, .95), "npc"), unit(1, "npc"),
                            gp = gpar(col = 'lightgrey', lwd = 4)),
                  textGrob("    medavis6",x=0,hjust=0,gp=gpar(col="darkorange",fontsize=8,fontface="bold")),
                  textGrob("Source: R",x=.85,hjust=-1.06,gp=gpar(col="black",fontsize=8)))

#Plot All Together
allplot <- grid.arrange(my_g2,plot20,my_g1,heights=c(1.17,11,0.5))
grid.draw(allplot)

ここに画像の説明を入力

于 2016-08-29T22:04:37.010 に答える