Leaflet/LeafletCN 系列
R數(shù)據可視化-動態(tài)庭猩、交互式地圖神器(一)概述與實現(xiàn)
R數(shù)據可視化-動態(tài)窟她、交互式地圖神器(二)地圖與定位
特別喜歡Leaflet的marker自定義,主要有以下幾種標記方法
標記
- addMarkers(popup,icon)
- awesomeMarker(icon,library, markerColor,iconColor )
- addCircleMarker(popup,color,fillOpacity)
- popup:文字描述
- icon:自定義圖標
- icon:圖表類型
- library:圖標庫
- markerColor:背景顏色
- iconColor :圖標顏色
- popup:文字描述
- color:顏色
- fillOpacity:透明度
第一類方法舉例
df = data.frame(Lat = 31+ rnorm(10,0,1), Lon = 121 + rnorm(10,0,1)) # 生成10個隨機點
df #傳數(shù)據
%>% leaflet() # 加載地圖容器
%>% addTiles() # 加載底圖
%>% addMarkers() # 加默認標記
這種是默認的圖標
接下來自定義icon
warIcons <- iconList( #自定義icon圖標
cat = makeIcon("cat.png",
iconWidth = 60, iconHeight = 60,
iconAnchorX = 30, iconAnchorY = 30),
dog = makeIcon("dog.png",
iconWidth = 60, iconHeight = 60,
iconAnchorX = 30, iconAnchorY = 30)
)
geo
%>% leaflet() #加地圖容器
%>% addProviderTiles("Thunderforest.SpinalMap") #加地圖底圖
%>% addMarkers(icon=~warIcons[type]) #使用自定義的icon
其中geo數(shù)據長這樣
其中makeIcon用法
makeIcon(iconUrl ,iconWidth,iconHeight,iconAnchorX ,iconAnchorY)
- iconUrl : 圖標的url地址
- iconWidth :圖標的寬度
- iconHeight: 圖標的高度
- iconAnchorX :圖標的中心點x軸偏移(以左上角為0,0)
- iconAnchorY :圖標的中心點Y軸偏移(以左上角為0,0)
效果
第二類方法舉例
可以在library參數(shù)中設定你希望選擇的圖標庫蔼水,有以下幾個:
如:
myIcon = makeAwesomeIcon(icon = "book", library = "glyphicon",markerColor = "purple")
df
%>% leaflet()
%>% setView()
%>% addProviderTiles("NASAGIBS.ViirsEarthAtNight2012")
%>% addAwesomeMarkers(icon=myIcon)
效果
第三類方法舉例
addCircleMarkers()方法更簡單震糖,直接把點作為一個鑲邊的圓(或者說圓符號)繪制到地圖上,如:
leaflet(df)
%>% addProviderTiles("CartoDB.Positron")
%>% addCircleMarkers()
效果