/ /凡例を使ってggplot2の空間データをプロットする - r、ggplot2

凡例を使ってggplot2の空間データをプロットする - r、ggplot2

私はここではかなり単純なプロットを試みているが、問題を抱えている。

私は、場所名と緯度/経度データを持つ単純な空間データフレームを持っています:

   locations <- c("location 1","location 2","location 3")
lat <- c(35, 35.5, 34)
lon <- c(-100, -98, -97)
Spatial.locations <- data.frame(locations, lat, lon)

他のプロットの例とは異なり(多くはmtcarsを使用します)、プロットされる実際の値は数値ではなく文字値です。私はそれがここで問題かもしれないと思っています。

私の最終的な目標は、私の空間をプロットすることです同じ色で異なる形状のグラフ上の点。私が実際に何をしたのかは、グラフ上の図形と一致する凡例を作成することで、どのステーションがどれであるかを簡単に識別することができます。これは一例ですが、実際のグラフでは、それらのテキストはしばしば互いにオーバーランし、それらの多くを読みにくくするので、この方法は参照するのがはるかに簡単であるはずです。

私は私の解決策を数回試してみましたが、私は伝説を生み出すことができません。

例1:

ggplot(data = Spatial.locations,aes(x=lon, y=lat))+
geom_point( size = 3)+
scale_colour_manual(name = "Locations",
labels = c("location 1","location 2","location 3"),
values = rep(x="green", times= 3))  +
scale_shape_manual(name = "Location",
labels = c("location 1","location 2","location 3"),
values = c(19,18,17))

例2:

ggplot(data = Spatial.locations,aes(x=lon, y=lat), color=locations)+
geom_point(size = 3) +
labs(color="Locations")

両方の例では、凡例なしで次のような出力が生成されます。

ここに画像の説明を入力

どんな助けでも大歓迎です。

ありがとう

回答:

回答№1は1

所望の出力を得るために

  • それは1つの値なので色のドロップスケール(凡例の必要はありません)
  • 形状ベクトル値に名前を付ける(形状値を位置値にマップする)

〜のように

ggplot(Spatial.locations, aes(x = lon, y = lat, shape = locations)) +
geom_point(colour = "green") +
scale_shape_manual(
name = "Location",
values = c(`location 1` = 19, `location 2` = 18, `location 3` = 17))

結果として

ここに画像の説明を入力