我想使用R中的世界地圖可視化我的數據,其中標籤要在特定點(給定座標)處添加。標籤應該是一些高度與數據表中的值成比例的3D矩形。我會使用R包「小冊子」(或者其他更好的選擇)。全世界大約有10-15個點,每個位置有兩個值(具體來說,點是主要油田的位置,值例如是大小和儲量)。我希望每個點都有兩個這樣的3D矩形,可以說,紅色和藍色彼此靠近,高度合適,數字相同,並且每個點都標註油田名稱。我用小冊子包找到了解決方案,用適當的半徑向地圖添加圓圈。使用R中的自定義標籤創建傳單圖
的數據和庫由代碼加載:
library(leaflet)
basins<-read.csv("somedata.csv")
而且somedata.csv具有以下結構(4個datalines僅作爲最小的工作實施例):
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"))
但是,這種解決方案並不好,因爲它不允許可視化第二個值(通過參數radius =〜res.density,其中res.density是我的.csv表中第一個值的名稱)。
我想再現一些看起來像這張圖片的東西,它是由GMT製作的。具有平面(2D)地圖就足夠了,但每個點需要兩個這樣的矩形,字段的名稱和每個矩形的值。從GMT包
圖片
這是一個很好的包。是否可以調整圖例以便給出自定義解釋,而不僅僅是變量的名稱? leaflet.minicharts文檔沒有提到這個選項。當然,可以用%>%addLegend手動添加圖例,但是minicharts的正確圖例看起來在樣式上很好 – astrsk
從包文檔中,參數addMinicharts可以調整圖例的位置。如果您想在圖例中使用不同的字符串,只需更改列的名稱即可。否則,請去addLegend。 –