バックグラウンド着色の特定の領域に3つのポリゴンを持つ散布図を描きたいと思います。それはthisのようになります。コードは、y軸上の4つの変数で正常に動作しますが、5番目を追加するとスローしてエラーになります。私はその理由を理解できません。ggplot:geom_polygon - Aesteticsの長さの誤差
エラー:
エラー:美学のいずれかの長さ1又はデータと同じでなければならない(5):X、Y
再生可能コード:
library(dplyr)
library(ggplot2)
v1 <- c(1, 1, 1)
v2 <- c(1, 0, 0)
v3 <- c(1, 0, 1)
v4 <- c(0, 1, 1)
v5 <- c(1, 0, 1)
xG <- c(3, 3, 3, 3, 3)
input <- c(v1, v2, v3, v4, v5)
df <- data_frame(values = input,
module = c(rep("A", length(v1)),
rep("B", length(v2)),
rep("C", length(v3)),
rep("D", length(v4)),
rep("E", length(v5))))
perWorkField <- df %>%
group_by(module) %>%
summarise(sums = sum(values)) %>%
mutate(percent = round((sums/xG) * 100, 2))
ggplot(data = perWorkField) +
geom_point(mapping = aes(x = percent, y = module)) + xlim(c(0, 100)) +
geom_polygon(aes(x = c(0, 30, 30, 0), y = c(0.5, 0.5, 5.5, 5.5)),
fill="#F5817A",
color = NA) +
geom_polygon(aes(x = c(30, 75, 75, 30), y = c(0.5, 0.5, 5.5, 5.5)),
fill="#FFFF0044",
color = NA) +
geom_polygon(aes(x = c(75, 100, 100, 75), y = c(0.5, 0.5, 5.5, 5.5)),
fill="#00FF0044",
color = NA) +
geom_point(mapping = aes(x = percent, y = module), shape = 20, size = 5) + theme_classic()
Iアドバイスをお願いします。前もって感謝します!
私は少し混乱している、これは4と5つの変数に問題の原因となったではなく、なぜしかし、それ今すぐ働きます - ありがとう! – jeypeu
あなたはポイントがあります。元のコードでは、 'ggplot(data = perWorkField)'にデータを宣言し、個々のgeomと衝突しました。私の視点からは、これは問題を引き起こしました。 –