R の世界地図を使用してデータを視覚化したいと考えています。ここでは、ラベルが特定のポイント (指定された座標) に追加されます。ラベルは、高さがデータ テーブルの値に比例する 3D 長方形である必要があります。Rパッケージの「リーフレット」(または、より良い場合は代替手段)を使用します。世界中に約 10 ~ 15 のポイントがあり、それぞれの場所に 2 つの値があります (具体的には、ポイントは主要な油田の場所であり、値はたとえばサイズや埋蔵量です)。各ポイントにこのような 2 つの 3D 長方形を作成します。たとえば、赤と青が互いに近くにあり、適切な高さと番号が付けられ、各ポイントに油田の名前が付けられます。リーフレット パッケージで解決策を見つけ、適切な半径で円をマップに追加しました。
データとライブラリは次のコードによってロードされます。
library(leaflet)
basins<-read.csv("somedata.csv")
また、somedata.csv の構造は次のとおりです (最小限の作業例として 4 つのデータ行のみ)。
basin,lat,lon,res.density,rel.area
Central Sumatra,1,96,16.7,75
North Sea,58.4,2,20,24
Maracaibo basin,9,-71,74.4,14.3
Los Angeles,33,-118,31.2,32
円でラベル付けされたマップは、コマンドによって呼び出されます
m=leaflet(data = basins) %>% addTiles() %>% addCircleMarkers(~lon, ~lat , popup = ~as.character(basin),radius=~res.density*0.4,label=~htmlEscape(basin),labelOptions=labelOptions(noHide=T,textOnly=TRUE,direction="bottom"))
ただし、このソリューションは、2 番目の値を視覚化できないため (引数 radius=~res.density を介して、 res.density は私の .csv テーブル内の流域の最初の値の名前です)、あまり良くありません。
GMTが制作したこの画像のようなものを再現したいと思っています。単純な (2D) マップで十分ですが、各ポイントに 2 つの長方形が必要で、フィールドの名前と各長方形の値が含まれます。
GMT パッケージの画像