@Mikeと同じ問題がthis questionにあります。問題は、マッププロットの領域のアウトラインカラーを設定する方法です。geom_map ggplot2の境界 - 再訪
提案されている解決方法では、境界線をプロットするためにgeom_polygon
を追加します。全体領域がプロットされている限り、これは機能します。サブ領域に制限しようとすると、ポリゴンが奇妙に描画されます(おそらく、いくつかの頂点がドロップされるためです)。標準geom_map
例を使用:
# Create example data
ids <- factor(c("1.1", "2.1", "1.2", "2.2", "1.3", "2.3"))
values <- data.frame(id = ids, value = c(3, 3.1, 3.1, 3.2, 3.15, 3.5))
positions <- data.frame(
id = rep(ids, each = 4),
x = c(2, 1, 1.1, 2.2, 1, 0, 0.3, 1.1, 2.2, 1.1, 1.2, 2.5, 1.1, 0.3, 0.5, 1.2, 2.5, 1.2, 1.3, 2.7, 1.2, 0.5, 0.6, 1.3),
y = c(-0.5, 0, 1, 0.5, 0, 0.5, 1.5, 1, 0.5, 1, 2.1, 1.7, 1, 1.5, 2.2, 2.1, 1.7, 2.1, 3.2, 2.8, 2.1, 2.2, 3.3, 3.2)
)
# Plot data
ggplot(values, aes(fill = value)) +
geom_map(aes(map_id = id), map = positions) +
geom_polygon(aes(x,y,group=id), fill = NA, colour = 'red', data = positions) +
expand_limits(positions) +
ylim(0, 3)
可能な回避策は次のように、scale_colour_manual
とアウトラインの色を選択し、手動で、その後geom_map
に色の美学を使用している:
ggplot(values, aes(fill = value)) +
geom_map(aes(map_id = id, colour = 'white'), map = positions) +
scale_colour_manual(values=c('white')) +
expand_limits(positions) +
ylim(0, 3)
だから私は二つの質問があります
をgeom_polygon
は、軸の制限が抑制されていると正しく機能しないのはなぜですか?- ここに示したものより輪郭を描くもっと洗練されたソリューションがありますか?
以下はプロット出力です。事前に多くの感謝。
これはpefectly、ありがとう!これは詳細ですが、私の2番目の質問に対する答えを知っていますか?なぜ、 'geom_map'関数で' color = white'を使うことができないのですか? – yellowcap
@yellowcap 2番目のケースであなたの特定の問題が何であるかわからないことが主な理由です。 – joran
@yellowcapおそらくこれは役に立たないかもしれませんが、 'geom_map'呼び出しでは' color = "white"を、 'aes'呼び出しでは' white 'を使います。それはあなたのデータに依存しないため、審美的ではありません。それは常に白です。 – Gregor