添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
聪明的足球  ·  Nginx udp代理-阿里云·  2 月前    · 
任性的钥匙扣  ·  火焰纹章 ...·  4 月前    · 
  • Using folium with flask
  • Integrating Jenks Natural Break Optimization with choropleth
  • Subplots
  • Using colormaps
  • Scrolling beyond the world edge
  • Panes and CustomPane
  • Geodedetic image overlay
  • Custom tiles
  • Piechart icons
  • Creating a polygon from a list of points
  • Customizing javascript or css resources
  • Piechart icons #

    In this example we show how you can make mini-charts on several locations. We’ll make little piecharts showing the number of consonants and vowels in a couple of languages. Those piecharts will be included as icons on the map.

    import ast
    import pandas
    data = pandas.read_csv(
        "https://raw.githubusercontent.com/python-visualization/folium-example-data/main/consonants_vowels.csv",
        # To ensure that tuples are read as tuples
        converters={"coordinates": ast.literal_eval},
    data.head()
    import matplotlib.pyplot as plt
    pie_charts_data = zip(data.consonants, data.vowels)
    fig = plt.figure(figsize=(0.5, 0.5))
    fig.patch.set_alpha(0)
    ax = fig.add_subplot(111)
    plots = []
    for sizes in pie_charts_data:
        ax.pie(sizes, colors=("#e6194b", "#19e6b4"))
        buff = io.StringIO()
        plt.savefig(buff, format="SVG")
        buff.seek(0)
        svg = buff.read()
        svg = svg.replace("\n", "")
        plots.append(svg)
        plt.cla()
    plt.clf()
    plt.close()
        font-size:14px;
        <p><a style="color:#e6194b;font-size:150%;margin-left:20px;">◼</a>&emsp;Consonants</p>
        <p><a style="color:#19e6b4;font-size:150%;margin-left:20px;">◼</a>&emsp;Vowels</p>
    <div style="
        position: fixed;
        bottom: 50px;
        left: 50px;
        width: 150px;
        height: 80px;
        z-index:9998;
        font-size:14px;
        background-color: #ffffff;
        filter: blur(8px);
        -webkit-filter: blur(8px);
        opacity: 0.7;
    {% endmacro %}
    legend = branca.element.MacroElement()
    legend._template = branca.element.Template(legend_html)
    
    m = folium.Map(location=(0, 0), zoom_start=2)
    for i, coord in enumerate(data.coordinates):
        marker = folium.Marker(coord)
        icon = folium.DivIcon(html=plots[i])
        marker.add_child(icon)
        popup = folium.Popup(
            "Consonants: {}<br>\nVowels: {}".format(data.consonants[i], data.vowels[i])
        marker.add_child(popup)
        m.add_child(marker)
    m.get_root().add_child(legend)