火爆全网!用 Pyecharts 就能做出来“迁徙图“和“轮播图“

1.pyecharts知识点回顾

1)知识回顾

前面我们已经讲述了,如何使用pyecharts进行图形的绘制,一共涉及到如下四步。我们今天就是按照下面这几步来进行迁徙图轮播图的绘制。

  • ① 选择图表类型;

  • ② 声明图形类并添加数据;

  • ③ 设置全局配置项和系列配置项;

  • ④ 显示及保存图表;

2)迁徙图

迁徙图类似于下面这种,利用一个曲线来显示从一个地方到另外一个地方的运行轨迹。

图片

技术交流

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

本文由粉丝群小伙伴总结与分享,如果你也想学习交流,资料获取,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:dkl88194,备注:来自CSDN + 加群
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

3)轮播图

轮播图就是淘宝主页面上的那种滚动大屏效果。在同一个页面上,可以放置多张图形,设置一定的轮播时间,它可以像放动画片一样给你滚动播放。

图片

2.迁徙图的绘制

1)参数解释
① Geo()类

Geo()类是用于绘制区域地图的类,既然是类,它既有自己的初始化参数,还有自己的自定义方法,该类的大致形式是这样的。

class Geo(# 初始化配置项init_opts: opts.InitOpts = opts.InitOpts()# 是否忽略不存在的坐标,默认值为 False,即不忽略is_ignore_nonexistent_coord: bool = False
)
# 该类拥有如下两个方法。
# add_schema()方法主要作用:用于指定绘制哪个地方的地图;
def add_schema();
# add()方法主要作用:用于为图形添加数据;
def add();
② init_opts参数

init_opts这个参数很常用,用于指定图形画布的大小。你不管绘制任何图形,都可以采用如下的方式,调用这个参数。

  • 参数的添加位置:在初始化类名的时候,添加这个参数;

  • 图形类名(init_opts=opts.InitOpts(width=,height=));

  • width:指定画布的宽度,默认是900px;

  • height:指定画布的高度,默认是500px;

③ label_opts参数

label_opts这个参数用于设置图形标签是否显示,当图形中的标签太多的时候,可能字与字之间会重合,此时我们可以设置标签不显示就可以解决这个问题。

  • 参数的添加位置:在使用add()方法添加数据的时候,添加这个参数;

  • .add(…,…,label_opts=opts.LabelOpts(is_show=False));

  • is_show:默认是True,显示标签,False是不显示标签;

④ 关于add_schema()方法的说明

在绘制迁徙图时,这个方法涉及到两个重要参数。一个是maptype,一个是itemstyle_opts,下面我们分别进行叙述。

  • maptype:用于指定地图类型,'china’代表绘制中国地图,'湖北’代表绘制湖北地图,'广东’代表绘制广东地图;

  • itemstyle_opts=opts.ItemStyleOpts(color=‘#323c48’,border_color=‘black’));

  • itemstyle_opts:图元样式配置项(官方取名),听完名字我也不知道是做什么的,其实是用来进行地图颜色填充的参数。

  • color:用于指定地图的背景填充色;

  • border_color:用于指定地区与地区之间的边界线的颜色;

⑤ effect_opts参数

effect_opts是涟漪特效配置项,该参数用于进行特效展示,设置了这个参数后,某个点会像水波泛起的涟漪一样,向着周围波动散开。

  • effect_opts=opts.EffectOpts(symbol=“arrow”, color=‘gold’, symbol_size=8));

  • symbol:指定该点的形状,这里指定的是箭头形状;

  • color:指定该点的颜色,这里指定的是黄色;

  • symbol_size:指定该点的大小;

⑥ set_global_opts()方法

set_global_opts()用于进行全局配置项的设置,常用于展示标题配置项和视觉映射配置项。

  • .set_global_opts(title_opts = opts.TitleOpts(title=“中国地图”),visualmap_opts = opts.VisualMapOpts(min_=30, max_=110))

图片

2)绘图代码
# 1.导入相关库
from pyecharts.charts import Geo
import pyecharts.options as opts
# 2.准备数据
city_num = [('武汉',105),('成都',70),('北京',99),('西安',80),('杭州',60),('贵阳',34),('上海',65),('深圳',54),('乌鲁木齐',76),('哈尔滨',47),('兰州',56),('信阳',85)]
start_end = [('武汉','成都'),('武汉','北京'),('武汉','西安'),('武汉','杭州'),('武汉','贵阳'),('武汉','上海'),('武汉','深圳'),('武汉','乌鲁木齐'),('武汉','哈尔滨'),('武汉','兰州'),('武汉','信阳')]( # 3.初始化地图类Geo(init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")).add_schema(maptype='china', itemstyle_opts=opts.ItemStyleOpts(color='#323c48', border_color='black'))# 4.添加数据.add('', data_pair=city_num, color='white').add('', data_pair=start_end, type_="lines",label_opts=opts.LabelOpts(is_show=False),effect_opts=opts.EffectOpts(symbol="arrow", color='gold', symbol_size=8)).set_global_opts(title_opts = opts.TitleOpts(title="中国地图"),visualmap_opts = opts.VisualMapOpts(min_=30, max_=110))
).render_notebook()  # 5.图形展示

结果如下:

图片

3.轮播图的绘制

1)参数解释

由于其他参数,我们在上面已经进行了详细的阐述,这里我们只讲述不一样的参数。参数其实挺多,我们需要边用边学,边学边总结,这样才会越来越厉害。

① Timeline()类

Timeline()类用于绘制轮播图,既然它也是一个类,肯定也有自己的初始化属性和相应的方法,该类的大致形式是这样的。

class Timeline(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts()
)# 该类拥有如下两个方法。
# add_schema()方法主要作用:用于设置轮播时间,是否自动轮播;
def add_schema();
# add()方法主要作用:用于为图形添加数据;
def add();
② add()方法
  • .add(chart=map1, time_point=“湖北省疫情地图”);

  • chart:你要添加哪一个图;

  • time_point:用于指定轮播轴的起点、重点名称;

③ add_schema()方法
  • .add_schema(is_auto_play=True, play_interval=3000);

  • is_auto_play:是否自动轮播,默认是False,不自动轮播;

  • play_interval:轮播时间,单位是毫秒,3000毫秒就是3秒轮播一次;

2)绘图代码
from pyecharts.charts import Map, Timeline
from pyecharts import options# 1. 准数据
hubei_city = ["武汉市","孝感市","黄冈市","荆州市","鄂州市","随州市","襄阳市","黄石市","宜昌市","荆门市","咸宁市","十堰市","仙桃市","天门市","恩施土家族苗族自治州","潜江市","神农架林区"]
hubei_data = [3214,628,722,287,224,304,321,202,269,217,206,177,97,82,103,27,7]guangdong_city = ["深圳市","广州市","珠海市","佛山市","东莞市","中山市","惠州市","汕头市","湛江市","江门市","肇庆市","阳江市","梅州市","茂名市","清远市","揭阳市","韶关市","潮州市","汕尾市","河源市"]
guangdong_data = [375,317,86,70,62,58,53,25,21,20,15,13,13,11,10,8,7,5,5,3]# 2. 绘制湖北疫情地图:格式一
map1 = (Map(init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")).add('', [(i,j) for i,j in zip(hubei_city,hubei_data)], '湖北').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=4000))
)# 3. 绘制广东疫情地图:格式二
map2 = (Map().add('', [(i,j) for i,j in zip(guangdong_city,guangdong_data)], '广东').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True))
)# 4. 创建组合类对象
timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px'))# 5. 在组合对象中添加需要组合的图表对象timeline.add(chart=map1, time_point="湖北省疫情地图")
timeline.add(chart=map2, time_point="广东省疫情地图")
timeline.add_schema(is_auto_play=True, play_interval=3000)# 6. 渲染数据
timeline.render_notebook()

结果如下:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/166465.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《QT从基础到进阶·十五》用鼠标绘制矩形(QGraphicsView、QPainter、QGraphicsRectItem)

以下是鼠标绘制矩形最全的一种用法,完整源码将会放在最后面。 QT版本:5.15.2 VS版本:2019 1、在界面加载一张图片 界面的搭建选用QGraphicsView,自定义类GraphicsView继承QGraphicsView,在主程序中点击按钮打开 图片&…

什么是Node.js的NVM(Node Version Manager)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

希尔排序原理

目录: 一、希尔排序与插入排序 1)希尔排序的概念 2)插入排序实现 二、希尔排序实现 一、希尔排序与插入排序 1)希尔排序的概念 希尔排序(Shells Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Incremen…

【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

《Unity5实战-使用C#和Unity开发多平台游戏》第二章-构建一个让你置身3D空间的演示 鼠标观察/键盘控制移动飞行/行走/碰撞检测 Unity版本:2019.4.23f1c1 注意脚本名称和组件添加,不在文章中一一强调场景模型都是在资源商店选择的免费下载(选…

IDEA 设置 Git 在左侧展示

File->settings->Version Control->commit 勾选 Use non-model commit interface

Spring Gateway基础知识总结

本文主要总结Spring Gateway的基础用法,内容包括网关、Spring Gateway工作流程、Spring Cloud Gateway搭建、路由配置方式、负载均衡实现、断言工厂这几个部分 目录 1. 网关 1.1 网关介绍 1.2 网关对比 1.3 Spring Gateway 1.4 核心概念 1.6 总结 2. Spring …

【Delphi】Android 开发HTTP请求出错解决方案

目录 一、故障现象 二、原因及解决方案 一、故障现象 在android内建的WebBrowser浏览器中通过http访问一个网站(注意不是https),出现如下错误提示: 在使用ntfy的时候,访问http定义的服务器地址(注意不是…

基于 Python 的课程助教智能聊天机器人

温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 课程助教是高校中一种常见的教学模式,其在学生理论知识的掌握与实践能力的提高方面起到关键性的作用,已经成为高校日常教育环节中不可或缺的一环。然而,传统的人力助教有若干关键问题亟待…

leaflet:个性化配置,利用Leaflet-Geoman绘制多种图形(136)

第136个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中个性化配置,利用Leaflet-Geoman绘制多种图形。 灵活地配置Leaflet-Geoman的属性,可以产生各种美妙的绘图效果。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方…

es6过滤对象里面指定的不要的值filter过滤

//过滤出需要的值this.dataItemTypeSelectOption response.data.filter(ele > ele.dictValue tree||ele.dictValue float4);//过滤不需要的值this.dataItemTypeSelectOption response.data.filter((item) > {return item.dictValue ! "float4"&&it…

PCIe寄存器之二

关键字索引: CAP_PM 对应:Capabilities: [c0] Power Management CAP_MSI 对应:Capabilities: [c8] MSI CAP_MSIX对应:Capabilities: [e0] MSI-X CAP_EXP 对应:Capabilities: [70] Express (v2) Endpoint 以上 [] 内的…

C++:类和对象(下)

1.再谈构造函数: 构造函数体赋值: 回顾:在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day d…