一つの文であなたがPyecharts地理データの可視化の方法を把握します。


ここでは主にPyecharts地理データの可視化を紹介します。

一、Pyecharts概要と設置
1.概要
EchartsはBaiduのオープンソースからのデータの可視化であり、良好なインタラクティブ、精巧な図表設計によって、多くの開発者に認められています。Pythonは表現力に富んだ言語で、データ処理に適しています。データ解析がデータの可視化に遭遇した時、pyechartsが誕生しました。
  • 簡潔なAPI設計は、シルクのように滑らかで、チェーンの呼び出しをサポートする
  • を使用しています。
  • は30+の一般的なグラフを網羅しています。全部で
  • があります。
  • は、主流Notebook環境、JupyterNotebook、JupyterLab
  • をサポートしています。
  • は、Flashk、Sanic、Djangoなどの主流Webフレーム
  • に容易に統合することができる。
  • 高度でフレキシブルな構成項目は、簡単に美しいグラフ
  • を組み合わせることができます。
  • 詳細な文書と例は、開発者のより速いマスター項目
  • を助ける。
  • は400+地図ファイルまであり、元のBaidu地図をサポートし、地理データの可視化に強力なサポートを提供しています。
    pyechartsバージョンv 0.5.xとv 1は互換性がなく、v 1は全く新しいバージョンで、文法もかなり違っています。
    2.据え付け
    インストールpyecharts
    
    pip install pyecharts -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    
    import pyecharts
    print(pyecharts.__version__)     #     pyecharts  
    地図の拡張パッケージをインストールします。
    
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-countries-pypkg  		#       
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-provinces-pypkg  #       
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-cities-pypkg   #       
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-counties-pypkg  #        
    
    二、地図の可視化
    1.世界地図
    Starbucks.csvのデータを利用して、まず国ごとの店舗数を計算し、世界地図を使ってスターバックスの店舗数を可視化して展示します。
    
    # -*- coding: UTF-8 -*-
    """
    @File  :demo1.py
    @Author :   
    @CSDN  :https://yetingyun.blog.csdn.net/
    """
    import pandas as pd
    from pyecharts.charts import Map
    from pyecharts import options as opts
    from pyecharts.globals import ThemeType, CurrentConfig
    
    CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
    
    # pandas  csv      
    df = pd.read_csv("Starbucks.csv")['Country']
    #              
    data = df.value_counts()
    datas = [(i, int(j)) for i, j in zip(data.index, data.values)]
    
    
    #      Map  
    map_ = Map(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION))
    #     
    map_.add("    ", data_pair=datas, maptype="world")
    map_.set_series_opts(label_opts=opts.LabelOpts(is_show=False))  #    label
    map_.set_global_opts(
       title_opts=opts.TitleOpts(title="            ", pos_left='40%', pos_top='10'),  #   title  
       legend_opts=opts.LegendOpts(is_show=False),
       visualmap_opts=opts.VisualMapOpts(max_=13608, min_=1, is_piecewise=True,
       pieces=[{"max": 9, "min": 1, "label": "1-9", "color": "#00FFFF"},    #             
         {"max": 99, "min": 10, "label": "10-99", "color": "#A52A2A"},
         {"max": 499, "min": 100, "label": "100-499", "color": "#0000FF	"},
         {"max": 999, "min": 500, "label": "500-999", "color": "#FF00FF"},
         {"max": 2000, "min": 1000, "label": "1000-2000", "color": "#228B22"},
         {"max": 3000, "min": 2000, "label": "2000-3000", "color": "#FF0000"},
         {"max": 20000, "min": 10000, "label": ">=10000", "color": "#FFD700"}
           ])
       )
    
    #       
    map_.render('           .html')
    
    運転効果は以下の通りです。

    2.国家地図
    波紋散点図
    china.csvのデータを利用して、まず各都市(City)に対応する店舗数を計算し、その後、pyechartsバッグ内Geoモジュールを使って、スターバックスの店舗店舗が中国の各都市に分布するさざ波散点地図を描きます。
    
    import pandas as pd
    from pyecharts.globals import ThemeType, CurrentConfig, GeoType
    from pyecharts import options as opts
    from pyecharts.charts import Geo
    
    CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
    # pandas  csv    
    df = pd.read_csv("china.csv")['City']
    data = df.value_counts()
    
    datas = [(i, int(j)) for i, j in zip(data.index, data.values)]
    print(datas)
    
    geo = Geo(init_opts=opts.InitOpts(width='1000px', height='600px', theme=ThemeType.DARK))
    geo.add_schema(maptype='china', label_opts=opts.LabelOpts(is_show=True))  #   label   
    geo.add('    ', data_pair=datas, type_=GeoType.EFFECT_SCATTER, symbol_size=8)
    geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    geo.set_global_opts(title_opts=opts.TitleOpts(title='           '),
              visualmap_opts=opts.VisualMapOpts(max_=550, is_piecewise=True,
              pieces=[{"max": 50, "min": 0, "label": "0-50", "color": "#708090"},    #              
                   {"max": 100, "min": 51, "label": "51-100", "color": "#00FFFF"},
                   {"max": 200, "min": 101, "label": "101-200", "color": "#00008B"},
                   {"max": 300, "min": 201, "label": "201-300", "color": "#8B008B"},
                   {"max": 600, "min": 500, "label": "500-600", "color": "#FF0000"},
                     ])
              )
    
    geo.render("           .html")
    
    運転効果は以下の通りです。

    ダイナミック軌跡図
    
    # -*- coding: UTF-8 -*-
    """
    @File  :demo3.py
    @Author :   
    @CSDN  :https://yetingyun.blog.csdn.net/
    """
    from pyecharts import options as opts
    from pyecharts.charts import Geo
    from pyecharts.globals import ChartType, SymbolType, CurrentConfig, ThemeType
    
    CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
    #     
    c = (
      Geo()
      .add_schema(
        maptype="china",
        itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"),
        label_opts=opts.LabelOpts(is_show=True)
      )
      .add(
        "",
        [("  ", 55), ("  ", 66), ("  ", 77), ("  ", 88), ('  ', 100), ('  ', 80)],
        type_=ChartType.EFFECT_SCATTER,
        color="white",
      )
      .add(
        "",
        [("  ", "  "), ("  ", "  "), ("  ", "  "), ("  ", "  "),
         ('  ', '  '), ('  ', '  '), ('  ', '  '), ('  ', '  ')
         ],
        type_=ChartType.LINES,
        effect_opts=opts.EffectOpts(
          symbol=SymbolType.ARROW, symbol_size=6, color="blue" #      
        ),
        linestyle_opts=opts.LineStyleOpts(curve=0.2), #       
      )
      .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
      .set_global_opts(title_opts=opts.TitleOpts(title="     "))
      .render("geo_lines_background.html")
    )
    
    運転効果は以下の通りです。

    3.省市地図
    熱力図
    
    # -*- coding: UTF-8 -*-
    """
    @File  :demo4.py
    @Author :   
    @CSDN  :https://yetingyun.blog.csdn.net/
    """
    from pyecharts import options as opts
    from pyecharts.charts import Geo
    from pyecharts.faker import Faker
    from pyecharts.globals import GeoType, CurrentConfig
    
    CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
    
    c = (
      Geo()
      .add_schema(maptype="  ", label_opts=opts.LabelOpts(is_show=True))
      .add(
        "   ",
        [list(z) for z in zip(Faker.guangdong_city, Faker.values())],
        type_=GeoType.HEATMAP,
      )
      .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
      .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-    ")
      )
      .render("geo_guangdong.html")
    )
    
    
    運転効果は以下の通りです。

    地図に経緯度データを大量に追加します。
    データは美団ネットの成都地区のホテルの情報から来て、その中のホテルの経緯度のデータを利用して、大量に地図の上で可視化を加えます。
    
    # -*- coding: UTF-8 -*-
    """
    @File  :demo5.py
    @Author :   
    @CSDN  :https://yetingyun.blog.csdn.net/
    """
    import pandas as pd   
    from pyecharts.charts import Geo  
    from pyecharts import options as opts  
    from pyecharts.globals import GeoType, CurrentConfig, ThemeType
    
    CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-assets-master/assets/'
    #   Excel              
    df = pd.read_excel("hotel.xlsx")
    
    #            
    geo_sight_coord = {df.iloc[i]['    ']: [df.iloc[i]['  '], df.iloc[i]['  ']] for i in range(len(df))}
    data = [(df['    '][j], f"{int(df['   '][j])} (   )") for j in range(len(df))]
    # print(data)
    # print(geo_sight_coord)
    
    #    Geo         
    g = Geo(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION, width="1000px", height="600px"))
    g.add_schema(maptype="  ")
    
    for k, v in list(geo_sight_coord.items()):
      #     、     
      g.add_coordinate(k, v[0], v[1])
    
    #        
    g.add("", data_pair=data, type_=GeoType.EFFECT_SCATTER, symbol_size=6)
    g.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    g.set_global_opts(title_opts=opts.TitleOpts(title="  -      "))
    g.render("      .html")
    
    運転効果は以下の通りです。

    この記事では、Pyecharts地理データの可視化方法を把握した文章を紹介します。Pyecharts地理データの可視化内容については、以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。