jupyter notebook(python)使用pycharts库实现动态地图展示

标签: 可视化  jupyter  python  numpy  conda  开发语言

今天和大家讲动态展示中国地图,下面数据都是自己随机编写的,其没有任何参考价值,如果对简单的画中国地图不了解可以参考我先前的博文,链接如下:

Python使用pyecharts库画简单的中国地图_小琼带你轻松学编程的博客-CSDN博客_pyecharts画地图

首先导入需要的库,pyecharts和numpy,pyecharts主要用来画动态图,numpy用来做数据统计,如果没有可以使用 :

pip install numpy

pip install pyecharts 

进行下载,如果速度特别慢可以尝试添加清华大学镜像源(可自行选择需要的),命令如下:

pip install  -i numpy https://pypi.tuna.tsinghua.edu.cn/simple

pip install pyecharts  -i https://pya.edu.cn/simple

镜像源如下:

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
北京理工大学:http://mirror.bit.edu.cn/web/
中国科技大学 :https://pypi.mirrors.ustc.edu.cn/simple/
中国科学院:http://www.opencas.org/mirrors/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
淘宝:http://npm.taobao.org/
网易:http://mirrors.163.com/
搜狐:http://mirrors.sohu.com/

导入需要的库pyecharts和numpy

from pyecharts import options as opts
from pyecharts.charts import Map, Timeline
import numpy as np

导入所需要的数据,可按需自行修改数据的值,代码如下:

province_dis = {'宁夏':155,'河南':355, '北京': 117, '河北': 521, '辽宁': 612, '江西': 126, '上海':1520, '安徽': 230, '江苏': 226, '湖南': 449,'浙江': 553, '海南': 512, '广东': 712, '湖北': 118, '黑龙江': 111, '澳门': 191, '陕西': 211, '四川': 717, '内蒙古': 113, '重庆': 13,'广西':81,'云南': 216, '贵州': 121, '吉林': 131, '山西': 131, '山东': 111, '福建': 341, '青海': 151, '天津': 131,'新疆':150,'西藏':170,'甘肃':120,'台湾':31}
provice = list(province_dis.keys())
values = list(province_dis.values())

province_dis1 = {'宁夏':55,'河南': 145, '北京': 137, '河北': 121, '辽宁': 112, '江西': 16, '上海':120, '安徽': 110, '江苏': 116, '湖南': 119,'浙江': 113, '海南': 12, '广东': 212, '湖北': 18, '黑龙江': 111, '澳门': 11, '陕西': 111, '四川': 17, '内蒙古': 13, '重庆': 13,'广西':81,'云南': 16, '贵州': 21, '吉林': 31, '山西': 11, '山东': 111, '福建': 41, '青海': 51, '天津': 11,'新疆':150,'西藏':170,'甘肃':120,'台湾':31}
values1 = list(province_dis1.values())


sum_vlaues=[]
sum_vlaues.append(values),sum_vlaues.append(values1)

其中provice存放了所有省份的名字,values 和values1存放的是2015年和2016年的对应省份的数据,sum_vlaues存放的是2015和2016省份的所有数据集。

实现动态中国地图,其代码如下:

tl = Timeline()
for i in range(2015, 2017):
    map_min=int(np.min(sum_vlaues[i-2015]))
    map_max=int(np.max(sum_vlaues[i-2015]))
    china = (
        Map()
        .add("", [list(z) for z in zip(provice, sum_vlaues[i-2015])], "china")
        .set_global_opts(title_opts=opts.TitleOpts(title="中国地图"), visualmap_opts=opts.VisualMapOpts(type_='color',min_=map_min,max_=map_max))
    )
    tl.add(china, "{}年".format(i))

其中t1代表的是时间序列,是实现动态中国地图的关键所在,map_min和map_max分别存放了对应年分数据的最大值和最小值,china代表的是绘制中国地图,其中Map()代表要画的是地图,.add()代表的是省份名字和对应年份的数据集,还有图的名称,.set_global_opts()表示地图的左上角主题和色斑地图的颜色和区间,无要求可以不需要更改。

最后就是实现地图动态展示和在jupyter notebook展示:

tl.add_schema(is_auto_play=True, play_interval=1000)
tl.render_notebook()

如果不需要展示在jupyter notebook上面可以将tl.render_notebook()改为tl.render(“filename”)保存到你所需要的filename下面。

最后我们的动态图就展示出来了,运行结果如下:

 

大家能够全部掌握之后,可以依葫芦画瓢来动态实现饼图和直方图,链接如下:

jupyter notebook画简单饼图,直方图_小琼带你轻松学编程的博客-CSDN博客_jupyter画饼状图

后期会出一篇博文为大家更加详细的讲解,如何制作动态饼图和直方图。

全部代码如下所示:

from pyecharts import options as opts
from pyecharts.charts import Map, Timeline
import numpy as np

province_dis = {'宁夏':155,'河南':355, '北京': 117, '河北': 521, '辽宁': 612, '江西': 126, '上海':1520, '安徽': 230, '江苏': 226, '湖南': 449,'浙江': 553, '海南': 512, '广东': 712, '湖北': 118, '黑龙江': 111, '澳门': 191, '陕西': 211, '四川': 717, '内蒙古': 113, '重庆': 13,'广西':81,'云南': 216, '贵州': 121, '吉林': 131, '山西': 131, '山东': 111, '福建': 341, '青海': 151, '天津': 131,'新疆':150,'西藏':170,'甘肃':120,'台湾':31}
provice = list(province_dis.keys())
values = list(province_dis.values())

province_dis1 = {'宁夏':55,'河南': 145, '北京': 137, '河北': 121, '辽宁': 112, '江西': 16, '上海':120, '安徽': 110, '江苏': 116, '湖南': 119,'浙江': 113, '海南': 12, '广东': 212, '湖北': 18, '黑龙江': 111, '澳门': 11, '陕西': 111, '四川': 17, '内蒙古': 13, '重庆': 13,'广西':81,'云南': 16, '贵州': 21, '吉林': 31, '山西': 11, '山东': 111, '福建': 41, '青海': 51, '天津': 11,'新疆':150,'西藏':170,'甘肃':120,'台湾':31}
values1 = list(province_dis1.values())


sum_vlaues=[]
sum_vlaues.append(values),sum_vlaues.append(values1)


tl = Timeline()
for i in range(2015, 2017):
    map_min=int(np.min(sum_vlaues[i-2015]))
    map_max=int(np.max(sum_vlaues[i-2015]))
    china = (
        Map()
        .add("", [list(z) for z in zip(provice, sum_vlaues[i-2015])], "china")
        .set_global_opts(title_opts=opts.TitleOpts(title="中国地图"), visualmap_opts=opts.VisualMapOpts(type_='color',min_=map_min,max_=map_max))
    )
    tl.add(china, "{}年".format(i))
tl.add_schema(is_auto_play=True, play_interval=1000)      # 自动播放,跳动的间隔为1000ms
tl.render_notebook()
版权声明:本文为m0_54188335原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_54188335/article/details/126317401

智能推荐

【Python】Jupyter Notebook

1.安装 2. 切换工作空间 2.1 找到配置文件路径 jupyter notebook --generate-config 2.2 修改配置文件 c.NotebookApp.notebook_dir = u'' --> c.NotebookApp.notebook_dir = 'd:\workspace\jupyter' 3. 运行jupyter 双击:{pythonhome}\...

Jupyter Notebook的使用

命令模式 (按键 Esc 开启) Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在其下插入新单元 Y : 单元转入代码状态 M :单元转入markdown状态 R : 单元转入raw状态 1 : 设定 1 级标题 2 : 设定 2 级标题 3 : 设定 3 级标题 4 : 设定 4 级标...

Jupyter notebook 使用教程

1 jupyter notebook简介 2 启动 3 创建新的文件 4 快捷键的使用 4.1 命令模式 4.2 编辑模式 5 导出 6 Matplotlib集成 1 jupyter notebook简介 jupyter notebook是一个在线编辑器,可以在网页上编辑程序,在编辑的过程中,每次编辑一行代码就可以运行一行代码,运行的结果也可以显示在代码的下方,方便查看。当所有的程序编写和运行完毕...

jupyter notebook的使用

1.Jupyter Notebook 的快捷键 Jupyter Notebook有两种键盘输入模式。 编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。 命令模式,键盘输入运行程序命令;这时的单元框线是灰色。 1.11.1 命令模式 (按键 Esc 开启) 命令 意义 Enter 转入编辑模式 Shift-Enter 运行本单元,选中下个单元 Ctrl-Enter 运行本单元 Alt...

Jupyter Notebook的使用

文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 1. 介绍 Jupyter Notebook有两种不同的键盘输入模式。编辑模式允许输入代码/文本到一个单元格中,并以绿色单元格边框表示,此时命令模式的快捷键不起作用。命令模式将键盘绑定到计算机级别的操作,并由具有蓝色左边距的灰色单元格边框指示,可以用快捷键命令运行单元格,移...

猜你喜欢

jupyter notebook使用技巧

从工作开始接触Jupyter notebook,结合ipython来使用简直是爽,相见恨晚,不愧是python的一大利器,当然Jupyter notebook也支持别的语言,不过别的就不熟悉了,有一些notebook的使用技巧记录如下,希望更多的人能够从Jupyter notebook中像我一样获得更大的乐趣。  参考:  https://www.ishuo.cn/doc/kb...

Jupyter Notebook使用

Jupyter Notebook 使用指南 简介 Jupyter Notebook是一个能运行Python代码的Web应用程序,是当今进行机器学习实践的主流工具。它具有很多完美的特性,在进行Python项目的开发时也可以使用Jupyter Notebook来代替IDE。希望本文能让你对这一神器有更快的入门理解。 IPython 如果你使用过Python,应该会在安装完成,配置好环境变量后打开过cm...

冒泡排序,及改进方式,性能优化400%>>>附图解加源码

首先源码附上,源码中带有注释,看不懂没关系,源码后面附带图解,最后附上代码效率提升图 源码如下: 方案一:其实实现很简单,两层循环,每次内层迭代出最大的一个值,将其放入数组最后一个位置,外层循环的末端便往前移一位。其原理如下图 方案一代码块: 方案二:优化改进 仔细观察上面的图,我们不难发现当迭代到图下这样的情况时,其实已经全排序好了,但是我们还是需要对它进行1,2,3,4,5,6的迭代,这些情况...

css3常用选择器

先介绍一下基本选择器,如下几种 *:通配符。选择页面的所有元素 E:元素选择器。对页面的一些元素进行选择,如p,div,li等 .class:类选择器 #id:id选择器。一个Id在一个页面中只能选择,这是和类选择器的区别 E F:后代选择器。如ul li。选中ul下的li E>F:子元素选择器。如下,可以用 h1 > strong {color:red;}使h1的子元素strong变...

python is not set from command line or npm configuration

问题 猜测原因  python版本冲突 解决方案  去官网找到最新版本python 点击下载,注意记住你下载的目录,下载好以后,打开这个目录下的文件夹,Python310, 整个文件夹复制一下 在项目里运行npm config list --json 找到python的路径   我的是 C:\\Python27\\python.exe 说明项目里用的还是py...