【531】folium 实现地图可视化(热力图)

参考:Python地图可视化-Folium实例(一)

参考:Python地图可视化-Folium实例(二)

参考:Python地图可视化-Folium实例(三)

参考:Python地图可视化-Folium实例(四)

参考:python高德地图可视化_【可视化】python地图可视化_Folium

参考:Folium 0.12.1 documentation »Quickstart

参考:Python地图可视化 folium

瓦片修改:


点线面显示举例

  Polygon 通过 weight 调整边界线的宽度

import folium
# 用于 MarkerCluster
import folium.plugins 

# 加载高德地图瓦片
m=folium.Map(location=[40.00727, 116.486635],
               zoom_start=17,
               tiles='http://webst04.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}',
               attr='default')

# 单点,直接加入坐标即可
folium.Marker(
    [40.00777, 116.486635],
    popup=folium.Popup('望京科创园',max_width=1000),
    tooltip='click here').add_to(m)

# 多边形,需要所有的点,可以填充颜色
folium.Polygon(
    [[40.00777, 116.485635],
     [40.00697, 116.488035],
     [40.00877, 116.487635]],
    color='red',
    fill_color='red',
    fillOpacity=0.5).add_to(m) 

# 折线,需要所有的点,只有颜色
folium.PolyLine(
    [[40.00677, 116.485635],
     [40.00597, 116.488035],
     [40.00777, 116.487635]],
    color='green').add_to(m) 

# 圆圈显示
folium.Circle(
    [40.00677, 116.485635],
    50,
    color='purple',
    fill_color='purple',
    fillOpacity='purple').add_to(m) 

folium.CircleMarker(
    location=[40.00597, 116.488035],
    radius=20,
    popup="Laurelhurst Park",
    color="#3186cc",
    fill=True,
    fill_color="#3186cc",
).add_to(m)

# 显示点集
folium.plugins.MarkerCluster(
    locations=[[40.00677, 116.485635],
               [40.00597, 116.488035],
               [40.00777, 116.487635]],).add_to(m)

m 

显示效果如下:

部分语法如下所示:

Init signature:
folium.Marker(
    location=None,
    popup=None,
    tooltip=None,
    icon=None,
    draggable=False,
    **kwargs,
)
Docstring:     
Create a simple stock Leaflet marker on the map, with optional
popup text or Vincent visualization.

Parameters
----------
location: tuple or list
    Latitude and Longitude of Marker (Northing, Easting)
popup: string or folium.Popup, default None
    Label for the Marker; either an escaped HTML string to initialize
    folium.Popup or a folium.Popup instance.
tooltip: str or folium.Tooltip, default None
    Display a text when hovering over the object.
icon: Icon plugin
    the Icon plugin to use to render the marker.
draggable: bool, default False
    Set to True to be able to drag the marker around the map.


Init signature: folium.Polygon(locations, popup=None, tooltip=None, **kwargs)
Docstring:     
Draw polygon overlays on a map.

See :func:`folium.vector_layers.path_options` for the `Path` options.

Parameters
----------
locations: list of points (latitude, longitude)
    Latitude and Longitude of line (Northing, Easting)
popup: string or folium.Popup, default None
    Input text or visualization for object displayed when clicking.
tooltip: str or folium.Tooltip, default None
    Display a text when hovering over the object.
**kwargs
    Other valid (possibly inherited) options. See:
    https://leafletjs.com/reference-1.6.0.html#polygon


Init signature: folium.PolyLine(locations, popup=None, tooltip=None, **kwargs)
Docstring:     
Draw polyline overlays on a map.

See :func:`folium.vector_layers.path_options` for the `Path` options.

Parameters
----------
locations: list of points (latitude, longitude)
    Latitude and Longitude of line (Northing, Easting)
popup: str or folium.Popup, default None
    Input text or visualization for object displayed when clicking.
tooltip: str or folium.Tooltip, default None
    Display a text when hovering over the object.
smooth_factor: float, default 1.0
    How much to simplify the polyline on each zoom level.
    More means better performance and smoother look,
    and less means more accurate representation.
no_clip: Bool, default False
    Disable polyline clipping.
**kwargs
    Other valid (possibly inherited) options. See:
    https://leafletjs.com/reference-1.6.0.html#polyline


Init signature:
folium.CircleMarker(
    location=None,
    radius=10,
    popup=None,
    tooltip=None,
    **kwargs,
)
Docstring:     
A circle of a fixed size with radius specified in pixels.

See :func:`folium.vector_layers.path_options` for the `Path` options.

Parameters
----------
location: tuple[float, float]
    Latitude and Longitude pair (Northing, Easting)
popup: string or folium.Popup, default None
    Input text or visualization for object displayed when clicking.
tooltip: str or folium.Tooltip, default None
    Display a text when hovering over the object.
radius: float, default 10
    Radius of the circle marker, in pixels.
**kwargs
    Other valid (possibly inherited) options. See:
    https://leafletjs.com/reference-1.6.0.html#circlemarker



Init signature:
folium.plugins.MarkerCluster(
    locations=None,
    popups=None,
    icons=None,
    name=None,
    overlay=True,
    control=True,
    show=True,
    icon_create_function=None,
    options=None,
    **kwargs,
)
Docstring:     
Provides Beautiful Animated Marker Clustering functionality for maps.

Parameters
----------
locations: list of list or array of shape (n, 2).
    Data points of the form [[lat, lng]].
popups: list of length n, default None
    Popup for each marker, either a Popup object or a string or None.
icons: list of length n, default None
    Icon for each marker, either an Icon object or a string or None.
name : string, default None
    The name of the Layer, as it will appear in LayerControls
overlay : bool, default True
    Adds the layer as an optional overlay (True) or the base layer (False).
control : bool, default True
    Whether the Layer will be included in LayerControls.
show: bool, default True
    Whether the layer will be shown on opening (only for overlays).
icon_create_function : string, default None
    Override the default behaviour, making possible to customize
    markers colors and sizes.
options : dict, default None
    A dictionary with options for Leaflet.markercluster. See
    https://github.com/Leaflet/Leaflet.markercluster for options.

热力图显示(超级简单)

参考:https://www.cnblogs.com/feffery/p/9288138.html

# 分别显示凸包 以及 所有点

m=folium.Map(location=[40.001971, 116.47304],
               zoom_start=18,
               tiles='http://webst04.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}',
               attr='default')

# 显示 polygon
folium.Polygon(tmp_hull, color='red', fill_color='red').add_to(m)

for i in range(len(pts)):
    folium.CircleMarker(pts[i], 1, color='purple').add_to(m) 

folium.plugins.HeatMap(pts).add_to(m) 
    
m 

原文地址:https://www.cnblogs.com/alex-bn-lee/p/14525237.html