Rの地理的位置のヒートマップを作成する

臨時雇用者

rを使用して、米国の地図の上にいくつかの地理的位置データに基づいてヒートマップを作成したいと思います。次のプロットは、私が使用した米国のマップ上に作成されるgeom_polygon()geom_point()

1]

これをヒートマップに変換して、次のようなものを取得するにはどうすればよいですか?

2]

Rの上のグラフを生成するために使用されるスクリプト。

library(ggplot2);library(maps);
states <- map_data("state")
ggplot() + 
  geom_polygon(data=states, aes(x=long, y=lat, group=group), color="grey", fill="white")+
  geom_point(data=data, aes(x=long, y=lat, color = X, size = X), alpha = 0.5)+
  scale_colour_gradient(low = "red", high = "green")+ 
  scale_x_discrete()+ scale_y_discrete()+ theme_void()+
  facet_wrap( ~type, nrow = 2)

データ私が使用しました:

data <- structure(list(X = c(3L, 2L, 6L, 1L, 4L, 4L, 1L, 2L, 5L, 3L, 
0L, 4L, 4L, 3L, 3L, 2L, 4L, 3L, 4L, 4L, 5L, 3L, 4L, 4L, 2L, 3L, 
5L, 2L, 2L, 0L, 1L, 0L, 3L, 4L, 2L, 3L, 0L, 0L, 1L, 3L, 3L, 1L, 
2L, 0L, 0L, 3L, 4L, 3L, 4L, 4L, 3L, 2L, 0L), Y = c(3L, 9L, 7L, 
6L, 3L, 3L, 6L, 5L, 3L, 10L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 4L, 
5L, 4L, 4L, 4L, 5L, 6L, 5L, 4L, 4L, 4L, 2L, 2L, 0L, 2L, 4L, 2L, 
4L, 4L, 3L, 3L, 4L, 7L, 7L, 2L, 3L, 2L, 4L, 3L, 4L, 3L, 3L, 7L, 
3L, 4L, 3L), Z = c(35L, 31L, 31L, 32L, 35L, 36L, 33L, 37L, 32L, 
30L, 39L, 35L, 33L, 35L, 35L, 35L, 30L, 35L, 33L, 31L, 33L, 35L, 
33L, 35L, 35L, 35L, 34L, 36L, 38L, 42L, 43L, 36L, 37L, 36L, 39L, 
35L, 38L, 40L, 39L, 33L, 33L, 41L, 38L, 38L, 41L, 39L, 35L, 35L, 
35L, 34L, 39L, 39L, 39L), type = structure(c(2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L), .Label = c("BF", "DE", "TS", "ZN"), class = "factor"), lat = c(40.77486, 
33.72621, 30.38654, 39.21092, 42.56396, 39.17866, 41.42014, 38.8756, 
39.98261, 32.73808, 39.36327, 42.31465, 42.95051, 38.18899, 26.05433, 
45.21794, 36.13051, 30.00133, 40.7747, 35.48284, 41.32453, 28.45942, 
39.94898, 33.27457, 40.43147, 45.63667, 41.81694, 32.73808, 39.36327, 
42.31465, 42.95051, 35.9996, 34.83323, 41.76574, 29.53539, 39.80981, 
30.34521, 39.09211, 35.95858, 35.92756, 33.78383, 38.18899, 36.13051, 
30.00133, 40.7747, 35.48284, 41.32453, 28.45942, 39.94898, 33.27457, 
40.43147, 45.63667, 41.81694), long = c(-75.94306, -85.44905, 
-97.78677, -77.6507, -72.23171, -84.7458, -82.23518, -104.89844, 
-83.27101, -98.0848, -106.07907, -83.24842, -85.86264, -85.81685, 
-80.99071, -94.50328, -87.32164, -90.19677, -74.68918, -97.61928, 
-96.59226, -81.96995, -75.87195, -112.45182, -80.05054, -123.21019, 
-71.45619, -98.0848, -106.07907, -83.24842, -85.86264, -80.0537, 
-82.39784, -72.7151, -96.11084, -86.41153, -81.82319, -94.8559, 
-83.99512, -115.53027, -119.30347, -85.81685, -87.32164, -90.19677, 
-74.68918, -97.61928, -96.59226, -81.96995, -75.87195, -112.45182, 
-80.05054, -123.21019, -71.45619)), class = "data.frame", row.names = c(NA, 
-53L))

私はあなたの助けに感謝します。

アランキャメロン

stat_density2d指定して使用できますgeom = "polygon"コメントから、値X、Y、Zのそれぞれに4つのファセットを持つプロットが必要なようです。はまたはのstat_density2d各インスタンスのみをカウントするため、その大きさを考慮に入れるのではなく、nを作成する必要があります。各ポイントの値に従って、各行を複製します。XYZ

dfX <- data.frame(long = rep(data$long, data$X), 
                  lat  = rep(data$lat,  data$X), 
                  type = rep(data$type, data$X))

dfY <- data.frame(long = rep(data$long, data$Y), 
                  lat  = rep(data$lat,  data$Y), 
                  type = rep(data$type, data$Y))

dfZ <- data.frame(long = rep(data$long, data$Z), 
                  lat  = rep(data$lat,  data$Z), 
                  type = rep(data$type, data$Z))

これで、プロット関数を定義できます。

plot_mapdata <- function(df)
{
  states <- ggplot2::map_data("state")

  ggplot2::ggplot(data = df, ggplot2::aes(x = long, y = lat)) + 
    ggplot2::lims(x = c(-140, 50), y = c(20, 60)) +
    ggplot2::coord_cartesian(xlim = c(-130, -60), ylim = c(25, 50)) +
    ggplot2::geom_polygon(data = states, ggplot2::aes(x = long, y = lat, group = group), 
                 color = "black", fill = "white") +
    ggplot2::stat_density2d(ggplot2::aes(fill = ..level.., alpha = ..level..), 
                            geom = "polygon") +
    ggplot2::scale_fill_gradientn(colours = rev(RColorBrewer::brewer.pal(7, "Spectral"))) +
    ggplot2::geom_polygon(data = states, ggplot2::aes(x = long, y = lat, group = group), 
                 color = "black", fill = "none") +
    ggplot2::facet_wrap( ~type, nrow = 2) + 
    ggplot2::theme(legend.position = "none")
}

だから私たちはできる:

plot_mapdata(dfX)

ここに画像の説明を入力してください

plot_mapdata(dfY)

ここに画像の説明を入力してください

plot_mapdata(dfZ)

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rで地理データのヒートマップを作成するにはどうすればよいですか?

分類Dev

R で 3 つの変数のヒートマップを作成する

分類Dev

r-図のようにヒートマップを作成する方法

分類Dev

NYCのヒートマップを作成する

分類Dev

ヒートマップヒートマップに追加の列を作成する方法

分類Dev

Rで行列のヒートマップを描画する

分類Dev

Rの16進コードカラーテーブルからヒートマップを作成する

分類Dev

RのPCA座標からヒートマップを作成

分類Dev

Rリーフレット:addTiles関数内の特定の地理的位置で地図をプロットする方法は?

分類Dev

Pythonでx、y、zデータのヒートマップを作成する

分類Dev

Pythonでx、y、zデータのヒートマップを作成する

分類Dev

argparseを理解して、ツイートの地理的位置を使用して動的マップを取得する

分類Dev

Rの統合プロットの共通行をマージするヒートマップ

分類Dev

複数のカラーマップでヒートマップを作成する方法は?

分類Dev

Rのデータ範囲からヒートマップを生成する

分類Dev

Rのggplotヒートマップに周辺合計を追加する

分類Dev

グーグルマップAPIでhtml地理的位置を使用して現在の位置を取得する方法

分類Dev

eChartsのヒートマップの色を変更する

分類Dev

ヒートマップを作成するための値の範囲のRGB値を計算します

分類Dev

データフレームのレベルの存在のヒートマップを作成する

分類Dev

正方行列からRを使用してヒートマップを作成する

分類Dev

最初のヒートマップと同じ行順序で2番目のggplotヒートマップを作成する

分類Dev

Bokehヒートマップでクリックされた位置のラベルを取得する方法

分類Dev

単語のリストに2文字のコンボのヒートマップを作成する方法

分類Dev

Rで連続1dヒートマップを作成する

分類Dev

座標のセットから位置の頻度ヒートマップをプロットします

分類Dev

Rのペンシルベニア郡のヒートマップをプロットする

分類Dev

因子変数のモードまたはRでヒートマップを作成する他の方法でgeom_tileを埋めます

分類Dev

Seabornヒートマップの横に列を追加する方法

Related 関連記事

  1. 1

    Rで地理データのヒートマップを作成するにはどうすればよいですか?

  2. 2

    R で 3 つの変数のヒートマップを作成する

  3. 3

    r-図のようにヒートマップを作成する方法

  4. 4

    NYCのヒートマップを作成する

  5. 5

    ヒートマップヒートマップに追加の列を作成する方法

  6. 6

    Rで行列のヒートマップを描画する

  7. 7

    Rの16進コードカラーテーブルからヒートマップを作成する

  8. 8

    RのPCA座標からヒートマップを作成

  9. 9

    Rリーフレット:addTiles関数内の特定の地理的位置で地図をプロットする方法は?

  10. 10

    Pythonでx、y、zデータのヒートマップを作成する

  11. 11

    Pythonでx、y、zデータのヒートマップを作成する

  12. 12

    argparseを理解して、ツイートの地理的位置を使用して動的マップを取得する

  13. 13

    Rの統合プロットの共通行をマージするヒートマップ

  14. 14

    複数のカラーマップでヒートマップを作成する方法は?

  15. 15

    Rのデータ範囲からヒートマップを生成する

  16. 16

    Rのggplotヒートマップに周辺合計を追加する

  17. 17

    グーグルマップAPIでhtml地理的位置を使用して現在の位置を取得する方法

  18. 18

    eChartsのヒートマップの色を変更する

  19. 19

    ヒートマップを作成するための値の範囲のRGB値を計算します

  20. 20

    データフレームのレベルの存在のヒートマップを作成する

  21. 21

    正方行列からRを使用してヒートマップを作成する

  22. 22

    最初のヒートマップと同じ行順序で2番目のggplotヒートマップを作成する

  23. 23

    Bokehヒートマップでクリックされた位置のラベルを取得する方法

  24. 24

    単語のリストに2文字のコンボのヒートマップを作成する方法

  25. 25

    Rで連続1dヒートマップを作成する

  26. 26

    座標のセットから位置の頻度ヒートマップをプロットします

  27. 27

    Rのペンシルベニア郡のヒートマップをプロットする

  28. 28

    因子変数のモードまたはRでヒートマップを作成する他の方法でgeom_tileを埋めます

  29. 29

    Seabornヒートマップの横に列を追加する方法

ホットタグ

アーカイブ