好久不见啊,斑点鱼之前出去旅行了一周,拉下了好多事情,之前跟大家说过的要将不同方式的热图可视化都给大家串一遍,现在来喽~~ 今天呢就先和大家说说,怎么用python进行地图热图的绘制哈~ 光是python,(这边不说matplot)斑点鱼知道的就有两种绘制地图的方法,一个是bokeh(交互式很棒!),另一个是pyecharts(交互式更棒!!!)。之前用Bokeh就已经觉得自己溜溜的,用了pyecharts更是感觉自己可以去做前端了!(哈哈哈哈,仰天长啸,说个笑话)其实就和echarts差不多(echarts如果大家有兴趣,我也可以讲解一下哈~),但对于只熟悉python不想用其他更多的软件的宝宝们来说,真的是个大福音啊! bokeh(制作空间散点图) 首先,安装一下:pip install bokeh 其次,导入模块: # 导入notebook绘图模块 # 导入图表绘制、图标展示模块 # 导入ColumnDataSource模块 from bokeh.plotting import figure,show,output_file from bokeh.models import ColumnDataSource from bokeh.models import HoverTool from bokeh.layouts import gridplot output_file('line2.html') 准备数据字段: 经度、纬度、值(颜色深浅的重要依据) 绘图过程code: from bokeh.models import HoverTool # 添加size字段 data_final['size'] = data_final['final_score'] * 25 data_final['color'] = 'blue' data_final['color'].iloc[:10] = 'red' # 创建ColumnDataSource数据 source = ColumnDataSource(data_final) # 设置标签显示内容 hover = HoverTool(tooltips=[('经度', '@lng'), ('纬度', '@lat'), ('最终得分', '@final_score'), ]) # 构建绘图空间 p = figure(plot_width=900, plot_height=900,title='实体快餐店选址最终得分' , tools=[hover,'box_select,reset,wheel_zoom,pan,crosshair']) #散点图绘制(散点为方块) p.square(x = 'lng',y = 'lat',source = source, line_color = 'black',fill_alpha = 0.5, size = 'size',color = 'color') #中间想要突出的两条红色长方形设置 bg=BoxAnnotation(top=31.32,bottom=31.2,fill_alpha=0.1, fill_color='red') p.add_layout(bg) bg2=BoxAnnotation(left=121.4,right=121.52,fill_alpha=0.1, fill_color='red') p.add_layout(bg2) show(p) 最终结果展示: 2.pyecharts 首先安装一下:pip install pyecharts 再导入一下模块 from pyecharts import Geo from pyecharts import Map 上海行政地图热图 value = [x for x in list(c_num['num_cnt'])] attr = list(c_num['district']) (具体数据格式举例: value = [20, 190, 253, 77, 65] attr = ['浦东新区', '金山区', '宝山区', '静安区', '普陀区'] ) map = Map('上海', width=2000,height=1000) map.add('', attr, value, maptype='上海', visual_range=[0, 500], is_visualmap=True,visual_text_color='#000',is_label_show=True) map.render('上海.html') map 结果展示: 全国省市地图热图 数据: province value0 山东省 5361 广东省 2272 江苏省 2143 内蒙古自治区 1984 四川省 1935 浙江省 1926 辽宁省 1877 云南省 1758 上海市 1559 河北省 15310 贵州省 116... .... chart = Geo('你的标题', '副标题', title_pos='center', width=1500, height=800, title_color='#fff',background_color='#404a59') #数据输入 value = list(data['value']) attr = list(data['province']) #绘制地图 chart.add('',attr,value,visual_range=[0,200],visual_text_color='#fff', is_legend_show=True, symbol_size=15,is_visualmap=True,tooltip_formatter='',type='heatmap', is_random=True,effect_scale=5,is_roam=False,label_emphasis_textsize=15,、label_emphasis_pos='right') chart.render('全国省市地图.html') 结果展示: 还有世界地图 和上面code一致 value = [95.1, 23.2, 43.3, 66.4, 88.5, 0.1] attr = ['China', 'Canada', 'Brazil', 'Russia', 'United States', 'Unknown Country'] chart = Map('世界地图 - 带标记点') chart.add('', attr, value, maptype='world', is_visualmap=True,visual_text_color='#000') chart.render('世界地图.html') pyecharts其实还可以做出超多图表形式,在此斑点鱼就不一一列举了。 再给喜欢斑点鱼的朋友透露一个pyecharts必杀技,大绝招!那就是直接导入PPT作动态效果!,真真真是太酷炫了,话不多说,上图—————— 如果大家看到了想学习一下,可以给斑点鱼点个赞哦~要求不高,满十个就好,当然赞赏是更棒啦!!看到大家的热情下一篇斑点鱼就详细来介绍一下,如何在PPT中展示pyecharts制作的酷炫的图表哦~~ 一起学习的小伙伴如果有什么想法或者意见,欢迎沟通~ |
|
来自: AnonymousV脸 > 《手机电脑类知识的文章》