搜公众号
推荐 原创 视频 Java开发 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库
Lambda在线 > 斑点鱼要成为伟大的数据分析师 > 【python酷炫技能之一】地图空间可视化~~

【python酷炫技能之一】地图空间可视化~~

斑点鱼要成为伟大的数据分析师 2019-01-07
举报

好久不见啊,斑点鱼之前出去旅行了一周,拉下了好多事情,之前跟大家说过的要将不同方式的热图可视化都给大家串一遍,现在来喽~~

今天呢就先和大家说说,怎么用python进行地图热图的绘制哈~

光是python,(这边不说matplot)斑点鱼知道的就有两种绘制地图的方法,一个是bokeh(交互式很棒!),另一个是pyecharts(交互式更棒!!!)。之前用Bokeh就已经觉得自己溜溜的,用了pyecharts更是感觉自己可以去做前端了!(哈哈哈哈,仰天长啸,说个笑话)其实就和echarts差不多(echarts如果大家有兴趣,我也可以讲解一下哈~),但对于只熟悉python不想用其他更多的软件的宝宝们来说,真的是个大福音啊!

  1. 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.annotations import BoxAnnotation   

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)


最终结果展示:

【python酷炫技能之一】地图空间可视化~~


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

结果展示:


【python酷炫技能之一】地图空间可视化~~

【python酷炫技能之一】地图空间可视化~~

  • 全国省市地图热图

数据:

    province    value
0        山东省  536
1        广东省  227
2        江苏省  214
3     内蒙古自治区  198
4        四川省  193
5        浙江省  192
6        辽宁省  187
7        云南省  175
8        上海市  155
9        河北省  153
10       贵州省  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='{b}',type="heatmap", is_random=True,effect_scale=5,is_roam=False,label_emphasis_textsize=15, 、label_emphasis_pos='right')

chart.render('全国省市地图.html')

结果展示:

【python酷炫技能之一】地图空间可视化~~

【python酷炫技能之一】地图空间可视化~~

还有世界地图

和上面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')

【python酷炫技能之一】地图空间可视化~~


pyecharts其实还可以做出超多图表形式,在此斑点鱼就不一一列举了。

再给喜欢斑点鱼的朋友透露一个pyecharts必杀技,大绝招!那就是直接导入PPT作动态效果!,真真真是太酷炫了,话不多说,上图——————

【python酷炫技能之一】地图空间可视化~~


如果大家看到了想学习一下,可以给斑点鱼点个赞哦~要求不高,满十个就好,当然赞赏是更棒啦!!看到大家的热情下一篇斑点鱼就详细来介绍一下,如何在PPT中展示pyecharts制作的酷炫的图表哦~~


一起学习的小伙伴如果有什么想法或者意见,欢迎沟通~

投稿|沟通邮箱:yzhmry1314@163.com











版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《【python酷炫技能之一】地图空间可视化~~》的版权归原作者「斑点鱼要成为伟大的数据分析师」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注斑点鱼要成为伟大的数据分析师微信公众号

斑点鱼要成为伟大的数据分析师微信公众号:gh_76ab50065809

斑点鱼要成为伟大的数据分析师

手机扫描上方二维码即可关注斑点鱼要成为伟大的数据分析师微信公众号

斑点鱼要成为伟大的数据分析师最新文章

精品公众号随机推荐

举报