整合營銷服務商

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

          免費咨詢熱線:

          用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日韩精品一区二区三区| 无码精品人妻一区二区三区影院| 久久精品国产一区二区三区不卡| 一区高清大胆人体| 中文字幕在线无码一区二区三区| 日本免费电影一区| 爱爱帝国亚洲一区二区三区| 亚洲av色香蕉一区二区三区蜜桃 | 在线精品自拍亚洲第一区| 无码人妻精品一区二区蜜桃网站| 精品无码人妻一区二区三区不卡| 国产大秀视频一区二区三区| 97一区二区三区四区久久| 亚洲影视一区二区| 亚洲综合无码一区二区三区 | 亚洲国产成人久久一区二区三区| ...91久久精品一区二区三区| 精品国产aⅴ无码一区二区| 国产精品亚洲一区二区在线观看| 久热国产精品视频一区二区三区| 国产一区二区三区在线看片| 精品日韩在线视频一区二区三区| 久久久综合亚洲色一区二区三区| 精品无码AV一区二区三区不卡| 成人无码精品一区二区三区| 精品乱码一区内射人妻无码| 亚洲AV日韩AV天堂一区二区三区| 国内自拍视频一区二区三区| 午夜视频久久久久一区| 亚洲国产日韩在线一区| 无码人妻精品一区二区三区99不卡 | 亚洲一区二区久久| 日本在线观看一区二区三区| 91一区二区在线观看精品| 国产精品va一区二区三区| 久久无码人妻一区二区三区午夜| 日本v片免费一区二区三区 | 亚洲一区中文字幕在线电影网| 风间由美在线亚洲一区| 久久精品午夜一区二区福利| 一区二区三区免费在线视频|