【问题标题】:How to plot data on a world map in a Jupyter / iPython Notebook using pygal library?如何使用 pygal 库在 Jupyter / iPython Notebook 中的世界地图上绘制数据?
【发布时间】:2019-08-31 04:46:16
【问题描述】:

我想在 Jupyter / iPython Notebook 的世界地图上可视化/显示数据。我正在尝试使用高级pygal library

【问题讨论】:

    标签: jupyter-notebook pygal


    【解决方案1】:

    您也可以使用 IPython.display SVG 简单地渲染 pygal 生成的 svg 代码

    1. 安装 pygal 库
    pip3 install pygal_maps_world
    
    1. SVG 渲染功能
    from IPython.display import SVG
     def display_svg(svg_code):
         return SVG(svg_code)
    
    1. pygal 文档中的代码示例
    import pygal 
     worldmap_chart = pygal.maps.world.World()
     worldmap_chart.title = 'Some countries'
     worldmap_chart.add('F countries', ['fr', 'fi'])
     worldmap_chart.add('M countries', ['ma', 'mc', 'md', 'me', 'mg',
                                        'mk', 'ml', 'mm', 'mn', 'mo',
                                        'mr', 'mt', 'mu', 'mv', 'mw',
                                        'mx', 'my', 'mz'])
     worldmap_chart.add('U countries', ['ua', 'ug', 'us', 'uy', 'uz'])
     svg_code = worldmap_chart.render()
    
    1. SVG 渲染
    display_svg(svg_code)
    

    【讨论】:

      【解决方案2】:

      您可以使用 IPython.display HTML 渲染 pygal 生成的 HTML 代码。主要优点是更复杂的 javascript 渲染以及工具提示等交互式功能。

      1. 安装 pygal 库
      pip3 install pygal_maps_world
      
      1. 创建一个调用pygal渲染javascript库的基本html文档
      from IPython.display import display, HTML
      
      html_doc = """
       <!DOCTYPE html>
       <html>
         <head>
         <script type="text/javascript" 
       src="http://kozea.github.com/pygal.js/javascripts/svg.jquery.js"></script>
         <script type="text/javascript" src="https://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js""></script>
         </head>
         <body>
           <figure>
             {rendered_chart}
           </figure>
         </body>
       </html>
       """
      
      1. pygal 文档中的代码示例
      import pygal 
       worldmap_chart = pygal.maps.world.World()
       worldmap_chart.title = 'Some countries'
       worldmap_chart.add('F countries', ['fr', 'fi'])
       worldmap_chart.add('M countries', ['ma', 'mc', 'md', 'me', 'mg',
                                          'mk', 'ml', 'mm', 'mn', 'mo',
                                          'mr', 'mt', 'mu', 'mv', 'mw',
                                          'mx', 'my', 'mz'])
       worldmap_chart.add('U countries', ['ua', 'ug', 'us', 'uy', 'uz'])
      
      1. HTML 呈现
      display(HTML(html_doc.format(rendered_chart=worldmap_chart.render(is_unicode=True))))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-07
        • 2010-12-06
        • 1970-01-01
        • 1970-01-01
        • 2014-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多