python最全画地图,可视化数据

有时我们会很希望把数据展示在地图上,来做数据可视化,使数据更加清晰明了,可谓一图胜百文。先说说我用地图做什么了:微信好友全国分布,显示票房省份数据,全国评分显示等等,我这个语言能力很是头疼啊,进入正题吧

python最全画地图,可视化数据_第1张图片

这里选用的是pyecharts模块,虽然python有自带的画图模块,matplotlib,但他是静态图,后来发现了pyecharts模块,瞬间爱上了这个模块,这种动态效果,数据好处理,简直简直太好用了,后面我会继续更新该模块其他画图功能
在使用地图前需要安装一下适合自己的地图包:
要记得安装对应的地图拓展:


   
   
   
   
  1. 选择自己需要的安装
  2. $ pip install echarts-countries-pypkg
  3. $ pip install echarts-china-provinces-pypkg
  4. $ pip install echarts-china-cities-pypkg
  5. $ pip install echarts-china-counties-pypkg
  6. $ pip install echarts-china-misc-pypkg
  7. $ pip install echarts-united-kingdom-pypkg

# 选择自己需要的安装 
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg

主要地图来源于这两个 Map, Geo

from pyecharts import Map, Geo
   
   
   
   

先定义一下数据


   
   
   
   
  1. # 世界地图数据
  2. value = [ 95.1, 23.2, 43.3, 66.4, 88.5]
  3. attr= [ "China", "Canada", "Brazil", "Russia", "United States"]
  4. # 省和直辖市
  5. province_distribution = { '河南': 45.23, '北京': 37.56, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9, '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门': 1, '陕西': 11, '四川': 7, '内蒙古': 3, '重庆': 3, '云南': 6, '贵州': 2, '吉林': 3, '山西': 12, '山东': 11, '福建': 4, '青海': 1, '舵主科技,质量保证': 1, '天津': 1, '其他': 1}
  6. provice= list(province_distribution.keys())
  7. values= list(province_distribution.values())
  8. # 城市 -- 指定省的城市 xx市
  9. city = [ '郑州市', '安阳市', '洛阳市', '濮阳市', '南阳市', '开封市', '商丘市', '信阳市', '新乡市']
  10. values2 = [ 1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1]
  11. # 区县 -- 具体城市内的区县 xx县
  12. quxian = [ '夏邑县', '民权县', '梁园区', '睢阳区', '柘城县', '宁陵县']
  13. values3 = [ 3, 5, 7, 8, 2, 4]

世界地图:


   
   
   
   
  1. map 0 = Map( "世界地图示例", width= 1200, height= 600)
  2. map 0.add( "世界地图", attr, value, maptype= "world", is_visualmap=True, visual_text_color= '#000')
  3. map 0.render(path= "./data/04-00世界地图.html")

python最全画地图,可视化数据_第2张图片

中国地图


   
   
   
   
  1. # maptype= 'china' 只显示全国直辖市和省级
  2. # 数据只能是省名和直辖市的名称
  3. map = Map( "中国地图", '中国地图', width= 1200, height= 600)
  4. map.add( "", provice, values, visual_range=[ 0, 50], maptype= 'china', is_visualmap=True,
  5. visual_text_color= '#000')
  6. map.show_config()
  7. map.render(path= "./data/04-01中国地图.html")

python最全画地图,可视化数据_第3张图片

省份地图


   
   
   
   
  1. # 河南地图 数据必须是省内放入城市名
  2. map2 = Map( "河南地图", '河南', width= 1200, height= 600)
  3. map2.add( '河南', city, values2, visual_range=[ 1, 10], maptype= '河南', is_visualmap= True, visual_text_color= '#000')
  4. map2.show_config()
  5. map2.render(path= "./data/04-02河南地图.html")

python最全画地图,可视化数据_第4张图片

区县地图


   
   
   
   
  1. # # 商丘地图 数据为商丘市下的区县
  2. map3 = Map( "商丘地图", '商丘', width= 1200, height= 600)
  3. map3.add( "商丘", quxian, values3, visual_range=[ 1, 10], maptype= '商丘', is_visualmap= True,
  4. visual_text_color= '#000')
  5. map3.render(path= "./data/04-03商丘地图.html")

python最全画地图,可视化数据_第5张图片

下面的这两个可直接使用全国城市

热力分布图


   
   
   
   
  1. data = [
  2. ( "海门", 9),( "鄂尔多斯", 12),( "招远", 12),( "舟山", 12),( "齐齐哈尔", 14),( "盐城", 15),
  3. ( "赤峰", 16),( "青岛", 18),( "乳山", 18),( "金昌", 19),( "泉州", 21),( "莱西", 21),
  4. ( "日照", 21),( "胶南", 22),( "南通", 23),( "拉萨", 24),( "云浮", 24),( "梅州", 25)]
  5. attr, value = geo.cast(data)
  6. geo = Geo( "全国主要城市空气质量热力图", "data from pm2.5", title_color= "#fff", title_pos= "center", width= 1200, height= 600, background_color= '#404a59')
  7. geo. add( "空气质量热力图", attr, value, visual_range=[ 0, 25], type= 'heatmap',visual_text_color= "#fff", symbol_size= 15, is_visualmap=True, is_roam=False)
  8. geo.show_config()
  9. geo.render(path= "./data/04-04空气质量热力图.html")

python最全画地图,可视化数据_第6张图片


   
   
   
   
  1. # 空气质量评分
  2. indexs = [ '上海', '北京', '合肥', '哈尔滨', '广州', '成都', '无锡', '杭州', '武汉', '深圳', '西安', '郑州', '重庆', '长沙']
  3. values = [ 4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60]
  4. geo = Geo( "全国主要城市空气质量评分", "data from pm2.5", title_color= "#fff", title_pos= "center", width= 1200, height= 600, background_color= '#404a59')
  5. # type="effectScatter", is_random=True, effect_scale=5 使点具有发散性
  6. geo.add( "空气质量评分", indexs, values, type= "effectScatter", is_random= True, effect_scale= 5, visual_range=[ 0, 5],visual_text_color= "#fff", symbol_size= 15, is_visualmap= True, is_roam= False)
  7. geo.show_config()
  8. geo.render(path= "./data/04-05空气质量评分.html")

python最全画地图,可视化数据_第7张图片

你可能感兴趣的:(python最全画地图,可视化数据)