8 行代码用Python画一个中国地图 !

python最全画地图,可视化数据 有时我们会很希望把数据展示在地图上,来做数据可视化,使数据更加清晰明了,可谓一图胜百文。先说说我用地图做什么了:微信好友全国分布,显示票房省份数据,全国评分显示等等,我这个语言能力很是头疼啊,进入正题吧 这里选用的是pyecharts模块,虽然python有自带的画图模块,matplotlib,但他是静态图,后来发现了pyecharts模块,瞬间爱上了这个模块,这种动态效果,数据好处理,简直简直... 阅读详情

Jupyter

首先,第一神器是Jupyter。如果你是第一次使用,可能搞不清楚它的开发者做这么个鬼东西出来干什么,说它是博客系统也不像,说它是web服务器也不像,但它就是有用。

因为我们传统的web开发首先想的就是面向公众,你做一个服务器就是要服务成千上万浏览器的。

Python资源共享群:484031800

当然Jupyter也可以服务众多浏览器,但它更多的还是方便研究人员,对研究人员来说简直是太方便了,你把代码像写文章一样直接写在输入框里,然后在本页面直接就看到了这个代码的结果,随时修改,随时展现,文码混排,是Markdown的一个增强版,毕竟Markdown还只能显示文字,最多再加上一些图片,而Jupyter是可以直接运行Python代码的。

当然,也有些人试图在Jupyter里运行PHP或Java代码,但显然成不了气候。因为Python这个语言天生就是脚本语言,可能将来唯一有希望往里移植的就是Javascript,这货也是一个脚本语言。脚本语言的好处就是不用编译,一行一个结果。

纵观计算机语言发展历史,就是一个从繁到简的过程,C语言需要编译+链接才能运行,Java只要javac一下,把编译和链接合二为一,PHP更简单,直接运行就行了,连编译都省了。

但是还不够直接,因为还要编写一个.php文件存盘,然后才能运行,到了Python以及其它脚本语言这里,可以直接在壳里运行,但最大的问题是运行可以运行,无法保存,要保存就又要跟传统方式一样,找个编辑器来,或者vi,存成文件以后才可以运行。

Jupyter最大的优点就是:它本身还是一个外壳环境,可以运行脚本,但同时也帮你自动把这些脚本代码保存了下来,不但保存脚本代码,并且你插在脚本代码当中的所有注释不是普通注释,而是各种格式化的Markdown都一并帮你保存下来,并且可以随时修改。

所以它兼具了脚本外壳和文件管理系统的优点,从此你开发Python代码再也不用先在IDE里写好代码,然后再到终端里去运行,而直接在一个web页面上就全部搞定了。

Java有这样的工具吗?PHP有这样的工具吗?没有,所以我们必须选择Python。

Pandas

第二神器是Pandas。如果我让你读取一个csv文件,然后求每一列数据的平均值,最大值,最小值,方差,用Java或PHP怎么做?

你首先要fopen一个文件,然后一行一行读进来,再给它整个数据结构,然后弄个循环计算,最后你可能还要fclose这个文件。

总之代码一坨,麻烦死。而Python语言因为有Pandas这个神器,一行代码搞定:

df = pd.read_csv( a.csv )

行了,从此以后,df就是这个DataFrame,它本身就是一个强大的数据结构,也可以把它理解成mysql数据库中的一张表吧,各种增删改查,求总和,求平均都是一行代码的事情。

所以有这样强大的库,研究人员有什么理由选择Java?

scikit-learn

第三神器scikit-learn,一般缩写为sclearn,各种机器学习算法,基本上只要你能想得到的,线性回归,逻辑回归,SVM,随机森林,最近邻居等等等等,各种算法全部在这里面(http://scikit-learn.org/stable/user_guide.html)。

简而言之,只有你想不到,没有它做不到。

所以这就是为什么玩机器学习必选Python的原因,你给我找一个Java或者PHP有这样多种算法的库来?

matplotlib

第四神器是matplotlib。如果我让你根据上面csv文件里的信息,画一个图,用Java该怎么做?

你当然会去找第三方插件库,然后又是一通折腾,终于把图做出来,然后编译,然后运行。

如果我要改配色呢?如果我要求画地图呢?如果要画热力图呢?那个麻烦就不是一星半点,而对于matplotlib来说,简直就是小菜一碟。

简单的直方图就不说了,下面重点介绍如何用matplotlib配合Basemap画一个中国地图。

安装Basemap

先安装相应的组件。我假定你已经都安装好了Python以及Jupyter等等。如果没有安装的话,就去尝试一下brew install python3和brew install jupyter吧,网上有很多教程。

然后你需要用pip3 install很多我们下面可能需要用到的库。但是因为我们要用一个叫做Basemap的库,而这个库没有办法用简单的pip3 install安装,所以稍多两个步骤:

brew install geos
pip3 install https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz

开始画图

启动Jupyter之后,我们还是本着从最简单的代码开始。先画一个世界地图:

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
plt.figure(figsize=(16,8))
m = Basemap()
m.drawcoastlines()
plt.show()

前面两行引入相应的库,真正的代码就4行,够简单吧。第1行甚至可以不写,它定义了图的大小。第2行我们创建一个地图,第3行把海岸线画上,第4行显示这个地图,就是这样:

 

 

 

 

 

你用Java的4行代码画一个地图出来?

然后我们开始画上国家,又是1行代码:

m.drawcountries(linewidth=1.5)

就变成了这样:

 

 

 

 

 

用Java可能吗?用PHP可能吗?

如果我们想显示中国地图,只需要在创建Basemap时指定一下经纬度就行了:

m = Basemap(llcrnrlon=73, llcrnrlat=18, urcrnrlon=135, urcrnrlat=53)

然后就得到了中国地图:

 

 

 

 

 

看上去有点变形,这是因为我们没有添加任何投影的原因,Basemap提供24种不同的投影方式,你可以自己一个个试一下,比较常用的是兰勃特投影,我们添加一下:

m = Basemap(llcrnrlon=77, llcrnrlat=14, urcrnrlon=140, urcrnrlat=51, projection= lcc , lat_1=33, lat_2=45, lon_0=100)

这次终于看上去比较正常了:

 

 

 

 

 

我们想加上省的边界怎么办呢?Basemap缺省的包里没有中国的省区,只有美国的州,毕竟是美国人做的嘛。

不过好在世界很大,有专门的国际组织干这事,在这里(https://gadm.org/download_country_v3.html)你可以下载全世界任何一个国家的行政区划Shape文件,然后我们给它加上:

m.readshapefile( CHN_adm_shp/CHN_adm1 ,  states , drawbounds=True)

然后就得到了下图:

 

 

 

 

 

再往后,你还可以往图上改颜色啦,写数字啦,这些就留待你研究吧。总之,我想说的是,用Python画地图真的超容易。

最后再为Java和PHP美言几句:大家分工不同,Java和PHP虽然做这样的数字研究不是很方便,但还是非常适合web开发的,而Python在这方面并不适合。

所以通常的做法是:首先用Python验证算法,经过一系列复杂的计算,把算法确定下来之后,当要应用到web上的时候,再用Java或者PHP把最终形成的结论重写一遍,这样就能充分利用各种语言的优势。

Python制作新型冠状病毒疫情地图-(世界&中国) 之前分享过一篇关于python爬虫制作疫情地图的博客,因为pyecharts版本的不同,其中实现方法也有些许区别。本篇博客中制作地图的代码是在pyecharts 0.5.10版本下完成的。 pyecharts高版本的map地图制作请点这里 1、导包: import re from bs4 import BeautifulSoup from urllib.request import urlopen... 阅读详情

相关推荐

pyecharts画中国地图(省、市):如何调整渐变颜色、浏览器中大小、生成的HTML打开是空白无法显示的问题

最近在做一个数模题,需要中国地图的数据可视化,了解到pyecharts,踩了一些坑,在此记录 ————————————————————————— 版本问题 现在网上大多数文章都是用的老版本,比如0.5以下,但pyecharts升级后,变化还是挺大的。我安装的就是最近版,好像是1.8几。 绘图代码(模版) 先以中国地图为例 每个省份和其对应的数值要以元组的形式给到参数里 opts.TitleOpts就是标题文字的各种参数,详细都可以到官方文档查看 想看哪个函数就直接搜,里面参数的讲解很详细 官方文档(中文)

CxsGhost的博客 1万+

8 行代码用Python画一个中国地图

源/ SegmentFaultJupyter首先,第一神器是Jupyter。如果你是第一次使用,可能搞不清楚它的开发者做这么个鬼东西出来干什么,说它是博客系统也不像,说...

机器学习算法与Python学习 9941

python使用cartopy画地图

利用cartopy进行地图绘制,利用克里金插值算法进行数据插值处理

weixin_41796280的博客 3848

Python绘制中国地图

Python 绘制中国地图

sinat_41646226的博客 8858

python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等)

这篇博客将介绍如何使用basemap绘制简单的地图(包括绘制边界框,随机点等)。 Basemap基于GEOS的地图二维数据,其底图数据库与GMT相同,封装了大量常用的地图投影、坐标转换功能,利用简洁的Python语法支持绘出多种多样的地理地图。

qq_40985985的博客 3454

手把手教你用STM32驱动SPL06-001气压传感器(附完整代码与避坑指南)

本文详细介绍了如何使用STM32驱动SPL06-001气压传感器,包括硬件连接、寄存器配置、驱动层实现和数据补偿算法。通过完整的代码示例和避坑指南,帮助开发者快速掌握SPL06传感器的应用技巧,提升嵌入式系统开发效率。

weixin_42552315的博客 294

怎么用python画省份,区域地图,中国地图

利用Python作图

weixin_39566143的博客 7070

23. STM32F103C8T6 ADC采集光敏电阻传感器模块光照强度实战

本文详细介绍了如何使用STM32F103C8T6的ADC模块采集光敏电阻传感器的光照强度。通过硬件接线、核心原理讲解、四步代码配置(GPIO、ADC模式、使能校准、数据滤波)以及串口验证,手把手指导完成从模拟信号到数字值的完整实战流程,并重点提示了ADC时钟分频等关键配置要点。

weixin_42300144的博客 223

Jupyter中使用Pyecharts绘制地图

原因:传入的数据中,各省市的名称必须要和地图上显示的名称一致,不能简写。3、准备数据:需要将各省份和对应频率存储在一个 DataFrame 中,其中列名为 "province" 和 "frequency"。4、绘制地图:使用 Pyecharts 中的 Map 类,将各省份和对应频率填入其中,并设置地图属性。如果想绘制动态显示的地图:即随着时间的变化,各省份相关数据频率也发生变化,地图中颜色在动态变化显示。根据各省频率绘制地图,可以使用 Pyecharts 绘制。1、安装 Pyecharts:可以通过。

weixin_40547993的博客 4998

ComfyUI新手必看:JoyCaption 2插件安装全流程(附百度网盘资源)

本文为ComfyUI新手提供了JoyCaption 2插件的完整安装与部署指南。详细介绍了从环境准备、插件获取、模型文件配置到核心节点使用的全流程,并重点解析了其集成的LLM反推模式,帮助用户高效实现从图片到精准提示词的转换。

mango的博客 303

2024.6.15丨基于VFDB数据库的致病菌毒力因子注释实战指南

本文提供了一份基于VFDB数据库进行致病菌毒力因子本地化注释的实战指南。详细介绍了从环境准备、DIAMOND工具安装、VFDB数据库选择与构建,到核心比对操作及结果解读与过滤的全流程。重点阐述了本地化分析相较于在线工具在速度、稳定性和批量处理上的优势,旨在帮助微生物基因组研究人员高效、精准地识别致病菌的关键毒力因子。

weixin_29220405的博客 273

python turtle 画数字8_8 行代码用Python画一个中国地图!一寸都不能少!

Jupyter首先,第一神器是Jupyter。如果你是第一次使用,可能搞不清楚它的开发者做这么个鬼东西出来干什么,说它是博客系统也不像,说它是web服务器也不像,但它就是有用。因为我们传统的web开发首先想的就是面向公众,你做一个服务器就是要服务成千上万浏览器的。当然Jupyter也可以服务众多浏览器,但它更多的还是方便研究人员,对研究人员来说简直是太方便了,你把代码像写文章一样直接写在输入框里,...

weixin_34873655的博客 1110

图解联合概率密度、边缘概率密度、条件概率密度之间的关系

简要图解联合概率密度、边缘概率密度、条件概率密度之间的关系

一个搬运知识的笨小孩 2万+

dataframe删除行_牛!用 8 行Python代码画出一个中国地图!

Jupyter首先,第一神器是Jupyter。如果你是第一次使用,可能搞不清楚它的开发者做这么个鬼东西出来干什么,说它是博客系统也不像,说它是web服务器也不像,但它就是有用。因为我们传统的web开发首先想的就是面向公众,你做一个服务器就是要服务成千上万浏览器的。当然Jupyter也可以服务众多浏览器,但它更多的还是方便研究人员,对研究人员来说简直是太方便了,你把代码像写文章一样直接写在...

weixin_39879122的博客 100

三相五柱式消弧线圈自动测控装置设计与实现

本文设计了一种基于STM32的三相五柱式消弧线圈自动测控装置。该装置采用信号注入法检测系统对地电容电流,通过PID自适应算法调节消弧线圈电感值,实现单相接地故障时的快速补偿。硬件系统包含信号采集、注入、控制执行等模块,软件采用Goertzel算法提取特征频率信号,结合增量式PID实现精确控制。实验结果表明,装置电容检测误差小于2%,调谐响应时间小于50ms,满足配电网对消弧线圈自动调谐的技术要求。

AI的内部世界的博客 239

如何离线环境下安装Dify插件 (可提供远程指导协助)

离线环境下安装Dify插件

litlit023的专栏 8101

c语言最近最久未使用页面置换算法代码_牛!用 8 行Python代码画出一个中国地图...

源 / SegmentFault /作者「张京」Jupyter首先,第一神器是Jupyter。如果你是第一次使用,可能搞不清楚它的开发者做这么个鬼东西出来干什么,说它是博客系统也不像,说它是web服务器也不像,但它就是有用。因为我们传统的web开发首先想的就是面向公众,你做一个服务器就是要服务成千上万浏览器的。当然Jupyter也可以服务众多浏览器,但它更多的还是方便研究人员,对研究人员来说简直是...

weixin_39639965的博客 180

基于UC3842的反激电源的全面深入解析与MATLAB仿真

内置电流检测,可实现电流模式控制,提高系统的动态响应性。多种保护功能,如欠压锁定、过温保护、短路保护等,确保系统的安全可靠运行。宽工作电压范围,适应不同的电源设计需求。简单的外部元件配置,易于实现。UC3842的典型应用包括开关电源、DC-DC转换器和反激式电源等,其稳定性和可靠性在实际应用中得到了广泛验证。

qq_38334677的博客 1088

Python使用 matplotlib的basemap绘图之一--几行代码画世界地图和中国地图

近来读到几篇Basemap绘图的文章,实践了一下,感觉很有意思,在此分享给各位朋友一起来感受一下它的魅力。 Basemap简介 简介 在数据可视化过程中,我们需要将数据在地图上画出来。 比如说我们在地图上画出城市人口,飞机航线,军事基地,矿藏分布等等。这样的地理绘图有助于读者理解空间相关的信息。basemap 是Python的一个强大的负责实现地理信息可视化的库,是Matplotlib的一个附加工...

qq_26665293的博客 9853

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python采用Basemap绘制完美中国地图

python采用Basemap绘制完美中国地图摘要Basemap的安装下载Basemap安装文件安装 Pyproj& BasemapBasemap的Helloword使用Shapefile绘制中国行政区域地图绘制给区域上色利用pandas打印一下shapefile区域内容信息绘制气象观测站点位置参考博文 摘要 本文主要想在目前网络文献中为大家抽去除一些比较个人的经验的问题。其中包括, 如...

maoye的博客 4万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

13行Python代码画美国疫情地图!美国现在可怕哇!

截至3月28日,美国累计新冠肺炎确诊病例已经超过12万例,累计死亡病例超两千例。美国政府已宣布17个州和地区为应对新冠肺炎疫情“灾难状态”。美国疾控中心28日还对纽约州等疫情较严重的三州发布旅行建议。 有朋友就问能否介绍下如何使用Python绘制美国疫情地图。之前介绍的是使用 PyEcharts绘制了全球、中国、湖北的疫情地图,疫情的相关文章如下,有兴趣可查 8行Python代码轻松绘制新冠...

爬遍所有网站 2550

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python+pyecharts实现中国省份地图可视化

小白使用PyEcharts模块创建中国地图的避坑指南 记录自己第一次使用pyecharts模块的填坑经历。 安装环境 $ pip install echarts-countries-pypkg 全球国家地图 $ pip install echarts-china-provinces-pypkg 中国省份地图 $ pip install echarts-ch...

weixin_43945293的博客 2万+

python使用pyecharts库画地图数据可视化

python使用pyecharts库画地图数据可视化导库中国地图代码结果世界地图代码结果省级地图代码结果地级市地图代码结果 导库 from pyecharts import options as opts from pyecharts.charts import Map 中国地图 代码 data = [('湖北', 9074),('浙江', 661),('广东', 632),('河南', 493...

故园稻香的博客 5401

python中国地图代码 上色_如何让使用python绘制中国地图并给特定地区上色?

在使用python Basemap绘制地图并给特定地区染色的过程中,有些地区无法上色。请问各位大神有无解决方法?我是准备给14个地区染色,但是能成功上色的只有6个省和直辖市。请问这是Basemap画地图的bug吗?在绘制的过程中参考的是链接描述大神的教程。我是准备给14个地区染色,但是能成功上色的只有6个省和直辖市。请问这是Basemap画地图的bug吗?代码如下:plt.figure(figsi...

weixin_30074329的博客 4881
上一篇: 史上超强 Python 编辑器,竟然是张网页?
下一篇: Python与C语言扩展-让你的程序比别人快百倍 !
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值