这次来学习一下热力地图,以分析上篇获取到的上市公司数据中的地理分布。如果对你有帮助可以给我点个赞呗^_^。
目录
1、Map.add()方法介绍
2、基本使用及参数介绍
3、画出中国上市公司的地理分布图
1、Map.add()方法介绍
Map.add() 方法签名
add(name, attr, value,
maptype='china',
is_roam=True,
is_map_symbol_show=True, **kwargs)
name -> str
图例名称
attr -> list
属性名称
value -> list
属性所对应的值
maptype -> str
地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县,全球国家等地图
is_roam -> bool/str
是否开启鼠标缩放和平移漫游。默认为 True
如果只想要开启缩放或者平移,可以设置成'scale'或者'move'。设置成 True 为都开启
is_map_symbol_show -> bool
是否显示地图标记红点,默认为 True。
2、基本使用及参数介绍
2.1 基本使用
from pyecharts import Map
value = [603, 331, 42, 420, 78]
attr = ['广东', '北京', '吉林', '江苏', '辽宁']
map = Map("全国地图示例", width=800, height=400)
map.add("", attr, value, maptype='china')
map.render()
运行结果:
很容易看出maptype的作用,就是定义地图类型的,如果你需要的是广东省就改为maptype= '广东'
2.2 显示各区域名称
添加参数is_label_show=True
from pyecharts import Map
value = [603, 331, 42, 420, 78]
attr = ['广东', '北京', '吉林', '江苏', '辽宁']
map = Map("全国地图示例", width=800, height=400)
map.add("", attr, value, maptype='china', is_label_show=True)
map.render()
运行结果:
2.3 结合visualmap
添加参数is_visualmap=True, 设置 is_map_symbol_show=False 取消显示标记红点
from pyecharts import Map
value = [603, 331, 42, 420, 78]
attr = ['广东', '北京', '吉林', '江苏', '辽宁']
map = Map("全国地图示例", width=1000, height=600)
map.add(
"",
attr,
value,
maptype="china",
is_visualmap=True,
visual_text_color="#000",
)
map.render()
运行结果:
设置is_visualmap参数时发现不管我们提供的样本数据最大值是多少它都是0~100这就很不好,要是全在一百以上那这热力图就没意义了。这时候就要添加pieces参数自定义 visualMap 组件标签
from pyecharts import Map
value = [603, 331, 42, 420, 78]
attr = ['广东', '北京', '吉林', '江苏', '辽宁']
map = Map("全国地图示例", width=800, height=400)
map.add(
"",
attr,
value,
maptype="china",
is_visualmap=True,
visual_text_color="#000",
is_piecewise=True,
is_map_symbol_show=False,
pieces=[
{"max": 1000, "min": 400},
{"max": 399, "min": 100},
{"max": 99, "min": 50},
{"max": 49, "min": 0},
]
)
map.render()
运行结果
3、画出中国上市公司的地理分布图
从上篇获取的数据中整理出的数据
['广东', '北京', '吉林', '江苏', '辽宁', '安徽', '四川', '浙江', '湖南', '河北', '新疆', '山东', '河南', '山西', '江西', '青海', '湖北', '内蒙古', '海南', '重庆', '陕西', '福建', '广西', '天津', '云南', '贵州', '甘肃', '宁夏', '黑龙江', '上海', '西藏']
[603, 331, 42, 420, 78, 62, 125, 443, 105, 58, 54, 206, 79, 38, 41, 12, 103, 25, 30, 50, 51, 134, 38, 50, 37, 29, 33, 14, 36, 298, 18]
代码实现:
from pyecharts import Map
zone = ['广东', '北京', '吉林', '江苏', '辽宁', '安徽', '四川', '浙江', '湖南', '河北', '新疆', '山东', '河南', '山西', '江西', '青海', '湖北', '内蒙古', '海南', '重庆', '陕西', '福建', '广西', '天津', '云南', '贵州', '甘肃', '宁夏', '黑龙江', '上海', '西藏']
value = [603, 331, 42, 420, 78, 62, 125, 443, 105, 58, 54, 206, 79, 38, 41, 12, 103, 25, 30, 50, 51, 134, 38, 50, 37, 29, 33, 14, 36, 298, 18]
map = Map("全国地图示例", width=800, height=500)
map.add(
"",
zone,
value,
maptype="china",
is_visualmap=True,
visual_text_color="#000",
is_map_symbol_show=False,
)
map.render('上市公司分布图.html')
运行结果