私は、facet_gridを持っていて、成長変数の符号に基づいて異なった線に点を描きたいと思っています。何らかの理由で、私はほとんどのパネルで2行を取得します。グラフからわかるように、正しく動作しません。ggplot signet_gridと標識の色
df2$sign <- paste(sign(df2[df2$variable %in% c('growth'), 'value']))
gg <- ggplot(df2, aes(x = date, y = value, colour = sign)) + geom_line() + facet_grid(variable ~ ., scales = 'free_y')
gg <- gg + scale_fill_manual(values = c('1' = "green", '-1' = "red", 'NA' = 'black'))
更新、全体dputはここで、あまりにも多くのかもしれません@hrbrmstrたちは本当に明確なを与えるためにここにデータを必要とする彼のコメントで言ったように、チャンク
> dput(df2[sort(sample(1:nrow(df2), 20)), ])
structure(list(date = structure(c(113, 204, 330, 442, 764, 834,
274, 582, 239, 316, 533, 57, 680, 715, 813, 120, 162, 260, 582,
785), class = "Date"), variable = structure(c(1L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L
), .Label = c("x", "trline", "abovtrend", "growth", "growthpc"
), class = "factor"), value = c(13.3161181999425, 16.1064371699508,
17.4335499999019, 15.7080705228661, 21.2452347312702, 24.1828936950835,
15.8272720823308, 19.1001953187372, 0.716627289232031, 0.618404918297323,
-0.219587860370801, NA, 4.20745119442357, 1.15183152074574, 0.978670728352593,
NA, NA, NA, 0.808835828791911, 0.179073426736106), sign = c("NA",
"NA", "NA", "-1", "1", "1", "NA", "1", "NA", "NA", "1", "NA",
"1", "1", "1", "NA", "NA", "NA", "1", "1")), .Names = c("date",
"variable", "value", "sign"), row.names = c(17L, 30L, 48L, 64L,
110L, 120L, 160L, 204L, 275L, 286L, 317L, 369L, 458L, 463L, 477L,
498L, 504L, 518L, 564L, 593L), class = "data.frame")
私たちは 'df2'の代表サンプルまたはその代表的なシミュレートされたデータの' dput() '出力を必要としています。 – hrbrmstr
恐らく、あなたは 'geom_line()'のみを使用しているということです。私は 'geom_point()'を追加し、その色付けだけを提案します。ライン全体を違う色にする必要はありません。 –
データを投稿してくれてありがとう - ちょうど 'variable =" x "'しか持っていないので、ファセットは何もしません。 –