整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          用Python畫中國地圖,實現各省份數據可視化

          一步:安裝pyecharts

          pyecharts是一款將python與echarts結合的強大的數據可視化工具,本文使用了0.1.9.4版本

          pip install pyecharts==0.1.9.4

          第二步:讀取數據

          我的數據是在Excel表格里,如下圖:

          Execel數據

          使用xlrd(沒有就通過pip install xlrd安裝)讀取Excel表格中的數據

          from pyecharts import Map
          import xlrd
          # 第一種方式,使用xlrd讀取Execel表格中數據
          data = xlrd.open_workbook('data.xlsx')
          table = data.sheet_by_name('Sheet1')
          province = table.col_values(0)[1:]
          num = table.col_values(1)[1:]

          如果各位沒有相應的Execel文件,也不想新建一個,那就干脆自己定義一個字典,其中鍵是省份,值是對應的數量,然后再把對應的值取出來

          # 第二種方式,直接自己寫一個字典,然后取出相應數據
          province_distribution = {'四川': 239.0, '浙江': 231.0, '福建': 203.0, '江蘇': 185.0, '湖南': 152.0, '山東': 131.0, '安徽': 100.0, '廣東': 89.0, '河北': 87.0, '湖北': 84.0, '吉林': 75.0,  
                                   '上海': 70.0, '江西': 64.0, '廣西': 64.0, '貴州': 64.0, '北京': 63.0, '云南': 53.0, '重慶': 49.0, '河南': 48.0, '陜西': 38.0, '山西': 37.0, '遼寧': 33.0, '新疆': 25.0, 
                                   '內蒙古': 23.0, '黑龍江': 20.0, '天津': 19.0, '甘肅': 13.0, '海南': 9.0, '青海': 7.0, '寧夏': 4.0, '西藏': 0.0}
          provice = list(province_distribution.keys())
          num = list(province_distribution.values())

          第三步:畫圖

          chinaMap = Map(width=1200, height=600)
          chinaMap.add(name="分布數量",
                       attr=province,
                       value=num,
                       visual_range=[0, 239],
                       maptype='china',
                       is_visualmap=True)
          chinaMap.render(path="中國地圖.html")
          • 其中參數name指的是顯示在地圖正上方的標題,
          • attr就是一個包含了各省份名稱的列表,
          • value就是包含了各省份對應數值的列表,
          • visual_range指的是整個數據中的數值范圍,
          • maptype就是指的地圖類型,
          • is_visualmap代表是否顯示顏色

          這時候就會生成一個名稱為“中國地圖.html”的文件,打開后如下圖所示:

          無省份名稱地圖

          如果想保存為圖片,可以點擊地圖右側的下載按鈕,因為隔著比較遠,我在錄屏的時候并沒有把下載按鈕錄進來,但大家在自己電腦上肯定會看見的。

          第四步:進一步優化

          大家可以看到上圖中各省份的名稱只有在被鼠標選中的情況下,才能顯示,并且所保存的圖片也不會顯示各省份名稱,如果要顯示各省份名稱,則需要對html文件就行修改,推薦使用notepad++(一個文本編輯軟件,直接去百度上下載,很簡單的)打開“中國地圖.html”文件,然后在第1923行的那個series中添加"label":{ "normal":{ "show":true}},并保存,如下:

          修改html文件

          然后再打開“中國地圖.html”文件,就可以看到各省份的名稱啦,如下圖:

          有省份名稱地圖


          你以為你真的掌握了嗎?請進傳送門:用Python畫江蘇省地圖,實現各地級市數據可視化

          關注微信公眾號“Python小鎮”,發現更多干貨知識!

          Echarts 無論是制作省份地圖還是區縣域地圖,他們的步驟都是基本一樣的。

          下面本人就 利用 Echarts 簡單繪制省份地圖 的步驟與經驗與各位分享一下。

          1、準備工作

          • 1.1 下載js靜態文件china.jsecharts.min.js

          • 1.2 下載中國各省、各市的 .json 文件省份或者地區的數據文件網址:https://github.com/longwosion/geojson-map-china

          2、獲取省份數據

          • 2.1 第一步:獲取XX省的地圖 json 數據文件(例:江蘇省:32.json)(是以各省身份證號 前兩位 開頭命名的)
          • 2.2 第二步:將獲取到的JSON文件 轉換 成 js 文件(江蘇省:jiangsu.js)
          • 2.3 第三步:修改轉換后的 js 文件 打開 js 文件添加變量 xx (這里本人命名習慣為 :(省名拼音小寫+Json)例:jiangsuJson)var xx = (js文件)
          • 例:
              var jiangsuJson = {"type": "FeatureCollection","cp":[118.8586,32.915], ........}保存 js 文件。

          3、在Django中編寫 HTML 代碼

          • 3.1 在<head> </head>中引入 js 文件
          <script type="text/javascript" src="/static/js/echarts.min.js"></script>
          <script type="text/javascript" src="/static/js/jiangsu.js"></script>
          • 3.2 在<body></body>中寫入作圖代碼
          <div>
              {# 標記 #}
               <a class="btn btn-success btn-sm" >江蘇省</a>
              {# 地圖代碼開始 #}
               <div class="x-body">
                   <!-- 為ECharts準備一個具備大小(寬高)的Dom -->
                   <div id="main" style="width: 949.75px;height:450px;"></div>
                   </div>
                              
                   <script type="text/javascript">
                         echarts.registerMap('jiangsu', jiangsuJson);
          
                         // 基于準備好的dom,初始化echarts實例
                         var myChart = echarts.init(document.getElementById('main'));
          
                         // 使用剛指定的配置項和數據顯示圖表。
                         myChart.setOption({
                             series: [{
                                 type: 'map',
                                 map: 'jiangsu'
                                 }]
                          });
                     </script>                    
          </div>
          • 3.3 運行代碼,就能看到結果

          4、總結

          其實只要按照本人上面的做法,就可以制作出來,本人繪不是很復雜,如果各位對省圖還需要其他顯示功能,大家不妨訪問 Echarts 的官網。

          標準地圖依據中國和世界各國國界線畫法標準編制而成,可用于新聞宣傳用圖、書刊報紙插圖、廣告展示背景圖、工藝品設計底圖等,也可作為編制公開版地圖的參考底圖。社會公眾可以免費瀏覽、下載標準地圖,直接使用標準地圖時需要標注審圖號。

          標準地圖有JPG、EPS兩種數據格式,地圖幅面分為64開、32開、16開、8開、4開、對開等。需要編輯EPS格式地圖時,建議使用Adobe Illustrator軟件。對地圖內容編輯(包括放大、縮小和裁切)改動的,公開使用前需要送自然資源主管部門審核。

          目前發布的標準地圖包括:中國地圖269幅,世界地圖79幅,專題地圖11幅。

          全國標準地圖服務 :http://bzdt.ch.mnr.gov.cn/

          各省標準地圖服務:
          1、北京市:https://beijing.tianditu.gov.cn/bzdt/

          2、天津市:https://tianjin.tianditu.gov.cn/static/html/bzmap.html

          3、河北省:http://hebei.tianditu.gov.cn/bzdt/

          4、山西省:http://zrzyt.shanxi.gov.cn/zwgk/bzdt/sxsdt/
          5、內蒙古自治區:http://zrzy.nmg.gov.cn/bsfw/bzdt/

          6、遼寧省:http://liaoning.tianditu.gov.cn/standardmap/index.html
          7、吉林省:
          https://jilin.tianditu.gov.cn/liquor-viewer/standardMap.do?type=1
          8、黑龍江省:
          http://hlsm.mnr.gov.cn/ggfw/xzfw/2c907f087167b849017167c321fa060f.html
          9、上海市:
          http://shanghai.tianditu.gov.cn/map/views/standardMap.html

          10、江蘇省:http://zrzy.jiangsu.gov.cn/jsbzdt/index.html
          11、浙江省:https://zhejiang.tianditu.gov.cn/standard
          12、安徽省:https://zrzyt.ah.gov.cn/ztlm/ahsbzdtfw/index.html
          13、福建省:http://bzdt.fjmap.net/
          14、江西省:http://bnr.jiangxi.gov.cn/col/col45382/index.html
          15、山東省:http://bzdt.shandongmap.cn/home
          16、河南省:http://www.hncehui.cn/plus/view.php?aid=7534
          17、湖北省:https://hubei.tianditu.gov.cn/standardMap
          18、湖南省:
          https://hunan.tianditu.gov.cn/TDTHN/tjxz/index.html
          19、廣東省:http://nr.gd.gov.cn/map/bzdt/
          20、廣西壯族自治區:
          https://www.gismap.com.cn/webmap/index.html#/webmap/index
          21、海南省:http://hism.mnr.gov.cn/sjkf/bzdt/index.html
          22、重慶市:http://ghzrzyj.cq.gov.cn/dt/foot.html
          23、四川省:http://scsm.mnr.gov.cn/nbzdt.htm
          24、貴州省:
          https://zrzy.guizhou.gov.cn/wzgb/zwgk/zdlyxxgk/dlxxgl/dtfw/bzdt1/index.html
          25、云南省:https://yunnan.tianditu.gov.cn/MapResource
          26、西藏自治區:
          http://zrzyt.xizang.gov.cn/fw/zyxz/202004/t20200430_139102.html
          27、陜西省:
          http://snsm.mnr.gov.cn/Information/BiaoZhunDiTuPage/1131


          28:甘肅省:
          https://gansu.tianditu.gov.cn/gsstdmap/startpg/index.html
          29、青海省:http://qinghai.tianditu.gov.cn/qhbzmap/
          30、寧夏回族自治區:https://ningxia.tianditu.gov.cn/tuji
          31、新疆維吾爾自治區:
          https://xinjiang.tianditu.gov.cn/main/bzdt.html
          32、新疆生產建設兵團:http://zrzy.xjbt.gov.cn/bzdtfw/


          來源請引用:地理遙感生態網科學數據注冊與出版系統


          主站蜘蛛池模板: 一夲道无码人妻精品一区二区| 亚洲Av高清一区二区三区| 色窝窝无码一区二区三区成人网站| 亚洲视频一区网站| 久久一区二区三区99| 成人免费视频一区二区三区| 久久精品亚洲一区二区三区浴池| 精品一区二区三区视频在线观看| 亚洲欧洲日韩国产一区二区三区 | 精品一区二区三区无码免费视频| 国产激情无码一区二区三区| 国产一区二区三区小向美奈子| 国产小仙女视频一区二区三区| 国产精品香蕉在线一区| 亚洲一区影音先锋色资源| 日本一区二区免费看| 无码少妇一区二区| ...91久久精品一区二区三区 | 高清精品一区二区三区一区| 91视频国产一区| 亚洲欧美日韩国产精品一区| 一区二区三区精密机械| 麻豆国产在线不卡一区二区| 精品国产高清自在线一区二区三区| 无码精品不卡一区二区三区 | 日韩一区二区三区精品| 一区二区三区在线| 中文无码精品一区二区三区| 熟女大屁股白浆一区二区| 国产精品日本一区二区不卡视频| 亚洲av福利无码无一区二区| 国产99久久精品一区二区| 久久精品无码一区二区三区免费 | 在线观看日韩一区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久精品国产一区| 亚洲一区精品中文字幕| 亚洲熟女www一区二区三区| 毛片无码一区二区三区a片视频| 国产人妖视频一区在线观看| 丝袜人妻一区二区三区网站|