1

ggplot2 の図でいくつかのテーマ要素を微調整しようとしています。この多層図に対する私の 3 つの質問/目標は次のとおりです (データのコードは最後に続きます)。

  1. 8 年すべて、つまり 2004 年から 2011 年までの x 軸の目盛りラベルを作成します。ただし、「xlab」は必要ありません。
  2. 「感染したステム」の凡例から 2 つの塗りつぶされたドットを削除します。これらの「geom_bars」にはドットが関連付けられていないはずです (???)。
  3. 線/点の凡例の凡例のタイトルを「SOD-dead Stems」に変更します。

私のコードはおそらく多くの人にとって冗長なので、凡例を 1 つだけにするなど、自由に提案を提供してください。私はggplotを初めて使用しますが(それが好きです)、これまでのところ「スケール」に問題があります....


図の私のコード:

##### BUILD UP DATAFRAME:
quag.infect= c(31, 52, 58, 74, 76, 85, 99, 102)
quke.infect= c(10, 13, 17, 20, 23, 27, 28, 27)
qusp.hosts = (rep(c("QUAG", "QUKE"), each=8))
year = rep(2004:2011, 2)
quag.dead = c(NA, 4,  11, 19, 33, 38, 48, 49)
quke.dead = c(NA,  1,  1,  1,  2,  3,  7,  8)

my.df = data.frame(Species=qusp.hosts, Year=year, 
Inf.ct = c(quag.infect, quke.infect), Sod.Dead=c(quag.dead, quke.dead))

##### Establish grey colors for bars:
grays = c(QUAG="gray50", QUKE="gray66")

##### Make multi-layered graphic:
library(ggplot2)
plot_x = ggplot(my.df, aes(Year, Inf.ct, fill=Species)) +
  geom_bar(stat="identity", position="dodge") +
  ylab(expression("Number of stems (dbh">="1-cm)", sep="")) +
  xlab("") +          
  scale_fill_manual(values=grays, "Infected Stems", labels = c("Black Oak", "Coast Live           Oak")) +
  geom_line(aes(y=Sod.Dead, linetype=Species)) +
  geom_point(aes(y=Sod.Dead, shape=Species)) 
plot_x 

ありがとう、サラ

4

1 に答える 1

1

あなたは遠くない。

ポイント 1: の代わりにxlabを使用しscale_x_continuous、 を設定しbreaks、空のタイトルを指定します。

ポイント 2 について:fill = Speciesグローバルaes関数から のaes関数に移動しgeom_barます。

scale_shapeポイント 3:およびscale_linetype関数内の凡例のタイトルを変更し、同じタイトルが両方に含まれるようにします。

ggplot のコードに次の変更を加えます。

plot_x = ggplot(my.df, aes(Year, Inf.ct)) +
  geom_bar(aes(fill=Species), stat="identity", position="dodge") +
  ylab(expression("Number of stems (dbh">="1-cm)", sep="")) +
  scale_x_continuous("", breaks = seq(2004, 2011, 1)) +
  scale_fill_manual(values=grays, "Infected Stems", labels = c("Black Oak", "Coast Live Oak")) +
  geom_line(aes(y=Sod.Dead, linetype=Species)) +
  geom_point(aes(y=Sod.Dead, shape=Species)) +
  scale_shape("SOD-dead Stems") +
  scale_linetype("SOD-dead Stems")
plot_x 

次のプロットが得られます。

ここに画像の説明を入力

于 2012-11-26T07:29:53.337 に答える