3

x 軸に離散的な順序付けられた因子を持つデータセットがあります。レンダリングを棒グラフから折れ線グラフに ( のスタイルで) 変更したいと考えていますgeom_freqpoly。データが既に集計されているため、ストレートを使用できず、統計を からにgeom_freqpoly変更する方法がわかりません。どうすればこれを実現できますか?stat = "bin"stat = "identity"

データは次のとおりです。

temp <- structure(list(wday = structure(c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 
4L, 5L, 5L, 6L, 6L, 7L, 7L), .Label = c("Monday", "Tuesday", 
"Wednesday", "Thursday", "Friday", "Saturday", "Sunday"), class = c("ordered", 
"factor")), splitter = c(FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, 
FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE), N = c(250245, 
40845, 209685, 45946, 200983, 49403, 142869, 52212, 88589, 48175, 
51061, 25317, 84012, 7994), price1 = c(22.79, 70.20, 35.92, 87.66, 
48.98, 55.37, 22.56, 88.50, 26.12, 63.29, 35.88, 73.79, 33.12, 82.80
)), .Names = c("wday", "splitter", "N", "price1"), class = "data.frame", 
row.names = c(NA, -14L))

そして、ここにプロットがあります:

ggplot(melt(temp,id.vars = c("wday","splitter")), 
  aes(x = wday, y = value, fill = splitter)) + 
  geom_bar(stat = "identity", position = "dodge") + 
  facet_grid(variable ~ ., scale = "free_y")

次のコードは機能すると思いますが、機能しません。

ggplot(melt(temp,id.vars = c("wday","splitter")), 
  aes(x = wday, y = value, colour = splitter)) + 
  geom_point() + geom_line() +
  facet_grid(variable ~ ., scale = "free_y")
4

1 に答える 1

3

問題は、グループの美学の欠如でした。この関数は、既定のグループ化変数 (ここではおよび)geom_lineとして因子を使用するため、各グループは 1 つのデータ ポイントです。でグループ化を指定すると、必要に応じて行がレンダリングされます。wdaysplitteraes

ggplot(melt(temp,id.vars = c("wday","splitter")), 
  aes(x = wday, y = value, colour = splitter, group = splitter)) + 
  geom_point() + geom_line() +
  facet_grid(variable ~ ., scale = "free_y")

今ラインで!

于 2013-08-27T22:13:05.257 に答える