python使用pyecharts绘制地图

python使用pyecharts绘制地图一 查看数据 importpandas pd read csv test datasets finally csv delimiter header 0 df pd DataFrame data print df shape print df loc area nunique 地区数 area df loc area value

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。

我们利用pyechartspycharm实现地图数据的可视化。

pyecharts导包报错请戳
https://blog.csdn.net/weixin_/article/details/

pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。

直接使用python的pip安装:

选择自己需要的安装的地图 $ 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 

一.查看数据
从51job爬取的大数据工作在各城市分布数据

import pandas as pd data=pd.read_csv('test_datasets_finally.csv',delimiter='#',header=0) df=pd.DataFrame(data) print(df.shape) print(df.loc[:,'area'].nunique())#地区数 area=df.loc[:,'area'].value_counts()#每个地区数量 #area=pd.DataFrame(area) print(area.shape) print(area.head()) 

在这里插入图片描述
可以看到,地区数据格式为dataframe格式,转换为列表

area2=area.values.tolist() area=area.reset_index() area1=area.loc[:,'index'].tolist() print('地区',area1) print('数量',area2) 

在这里插入图片描述

二.绘制中国地图

maptype=‘china’ 只显示全国直辖市和省级,数据只能是省名和直辖市的名称

1.绘制分布图

这三个可直接使用全国城市

from pyecharts import Bar from pyecharts import Geo from pyecharts import Map map = Map("大数据工作分布图", "data from 51job",title_color="#404a59", title_pos="center") map.add("", area1,area2 , maptype='china',is_visualmap=True,visual_text_color='#000',is_label_show=True) map.render("./job_pic/大数据工作城市分布.html") #map.render(path='snapshot.png') #map.render(path='snapshot.pdf') 

在这里插入图片描述

2.绘制热力图

geo = Geo("大数据工作分布热力图", "data from 51job", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') geo.add("大数据工作分布热力图", area1, area2, visual_range=[0, 35], maptype='china',type='heatmap',visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False) geo.render('./job_pic/大数据工作分布热力图.html') 

在这里插入图片描述
3.绘制评分图

geo = Geo("大数据工作分布城市评分", "data from 51job", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') # type="effectScatter", is_random=True, effect_scale=5 使点具有发散性 geo.add("空气质量评分", area1, area2, type="effectScatter",maptype='china', is_random=True, effect_scale=5, visual_range=[0, 5],visual_text_color="#fff", symbol_size=10, is_visualmap=True, is_roam=False) geo.render("./job_pic/大数据工作分布城市评分.html") 

在这里插入图片描述
三.省份地图

河南地图 数据必须是省内放入城市名

# 城市 -- 指定省的城市 xx市 city = ['郑州市', '安阳市', '洛阳市', '濮阳市', '南阳市', '开封市', '商丘市', '信阳市', '新乡市'] values2 = [1.07, 3.85, 6.38, 8.21, 2.53, 4.37, 9.38, 4.29, 6.1] map2 = Map("河南地图",'河南', width=1200, height=600) map2.add('河南', city, values2, visual_range=[1, 10], maptype='河南', is_visualmap=True, visual_text_color='#000') map2.render(path="./job_pic/河南地图.html") 

在这里插入图片描述
区县地图

商丘地图 数据为商丘市下的区县

# 区县 -- 具体城市内的区县 xx县 quxian = ['夏邑县', '民权县', '梁园区', '睢阳区', '柘城县', '宁陵县'] values3 = [3, 5, 7, 8, 2, 4] map3 = Map("商丘地图",'商丘', width=1200, height=600) map3.add("商丘", quxian, values3, visual_range=[1, 10], maptype='商丘', is_visualmap=True, visual_text_color='#000') map3.render(path="./job_pic/商丘地图.html") 

在这里插入图片描述

四.世界地图

#世界地图数据 value = [95.1, 23.2, 43.3, 66.4, 88.5] attr= ["China", "Canada", "Brazil", "Russia", "United States"] map0 = Map("世界地图示例", width=1200, height=600) map0.add("世界地图", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000') map0.render(path="./job_pic/世界地图.html") 

在这里插入图片描述
参考:https://www.jianshu.com/p/e0b2851672cd

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232095.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分布式熔断机制_服务器熔断是什么意思啊

    分布式熔断机制_服务器熔断是什么意思啊#服务熔断-“熔断器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器(hystrix)的故障监控,某个异常条件被触发,直接熔断整个服务。向调用方法返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方法无法处理的异常,就保证了服务调用方的线程不会被长时间占用,避免故障在分布式系统中蔓延,乃至雪崩。如果目标服务情况好转则恢复调用。服务熔断是解决服务雪崩的重要手段。#服务熔断图示…

    2022年8月31日
    4
  • 有序的hashmap_treemap是有序的吗

    有序的hashmap_treemap是有序的吗如何给HashMap中的值排序?这个问题很多人都遇到过,很常见的一个方案是使用LinkedHashMap,因为LinkedHashMap可以记住元素放入的顺序,可以认为是真正的“有序”(想让HashMap有序是不可能的),我比较喜欢。然而问题是往往数据已经封装在了HashMap中,我们必须手动的排序后再放入LinkedHashMap,这当然也就成了思路,代码实现起来也很简单,写出来看起来还挺舒服的…

    2022年9月24日
    3
  • Netty框架

                          Netty框架概述 Netty是由JBOSS提供的一个Java开源框架。Netty提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络IO程序。Netty是一个基于NIO的网络编程框架,使用Netty可以帮助你快速、简单的开发出一个网络应用,相…

    2022年4月6日
    172
  • 【学习】Deep Learning for Deepfakes Creation and Detection[通俗易懂]

    【学习】Deep Learning for Deepfakes Creation and Detection[通俗易懂]论文题目:DeepLearningforDeepfakesCreationandDetection翻译:基于深度学习的Deepfake创建与检测作者:ThanhThiNguyen*1,CuongM.Nguyen2,DungTienNguyen1,DucThanhNguyen1andSaeidNahavandi31SchoolofInformati…

    2022年5月9日
    101
  • LaTeX参考文献类型

    LaTeX参考文献类型@article:期刊文章@book:有明确出版商的书@booklet:没有指定出版商或赞助商的印刷品@conference:会议文章,与inproceedings相同@inbook:书的一部分,可以是章节等@incollection:Apartofabookhavingitsowntitle@inproceedings:会议文章@manual:技术文档@mastersthesis:硕士论文@misc:大杂烩,当没有其他适合的时候使用这个类型@phdt

    2025年10月10日
    2
  • Jenkins(2)docker容器中安装python3[通俗易懂]

    Jenkins(2)docker容器中安装python3[通俗易懂]前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月28日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号