火爆全网!用 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()

结果如下:

图片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux-Shell命令行解释器的模拟实现

引言:本篇文章主要是简单实现一个shell命令行解释器,可以支持基础常见的linux的命令,支持内建命名echo、cd,同时支持重定向的操作! 一、代码剖析 1. 头文件引入: 因代码是在linux下实现,引入的…

全国5米高程DEM数据及衍生的全国地形起伏度数据

地表起伏度,也有称为地势起伏度、地形起伏度,是指某点在其确定面积的域内的最高点与最低点之间的高差。地表起伏度概念的核心在于如何确定该点的计算域。在统计意义上,随着计算域范围的增大,地表起伏度将逐渐增大。 因此&#xff…

GitHub上的开源工业软件

github上看到一个中国人做的流体力学开源介绍,太牛了! https://github.com/clatterrr/FluidSimulationTutorialsUnity 先分析一下工业仿真软件赛道 工业仿真软件的赛道和产品主要功能如下: 1. 工艺仿真赛道: - 工厂布局优化&am…

linux 下 mysql8 修改root初始密码

背景 linux下安装完mysql8以后,无法使用root用户登录或者忘记了root用户的密码,需要修改root用户的密码; 步骤 不想翻译了,专业人员都能看懂。完结 链接 MySQL :: MySQL 8.0 Reference Manual :: B.3.3.2 How to Reset the Roo…

MATLAB|不给糖果就捣蛋

目录 扫一扫关注公众号 效果图 代码 绘制南瓜 绘制无脸男小鬼 其中绘制风车代码: 其中 EllipsePlotter类函数代码如下 属性 (properties) 方法 (methods) 扫一扫关注公众号 效果图 代码 绘制南瓜 clc;clear;close all; [X,Y,Z]sphere(200); R1(-(1-mod(0:…

centos 7.9系统安装老版本jenkins,并解决插件问题

1.初衷 因为jenkins随着时间推移,其版本也越来越新,支持它运行的JDK也越来越新。基于不折腾的目标,我们安装一个老的固定版本就行。以前安装新版本,经常碰到的问题就是插件安装不兼容的问题。现在这个问题,可以把以前…

MySQL的默认引擎为什么是InnoDB

MySQL支持InnoDB、MyISAM、MEMORY、CSV等多个存储引擎,那为什么选InnoDB作为默认引擎呢? 主要原因有几点: 事务 事务主要用于保持数据一致性,是一组操作的集合,要么全部成功,要么全部失败。InnoDB引擎提供…

Kubernetes平台部署Grafana Loki Promtail系统

部署结构图: Loki 是主服务,负责存储日志和处理查询promtail 是代理,负责收集日志并将其发送给 lokiGrafana 用于 UI 展示 只要在应用程序服务器上安装promtail来收集日志然后发送给Loki存储,就可以在Grafana UI界面通过添加Lok…

通过docker快速部署RabbitMq

查询镜像: docker search rabbitmq拉去RabbitMq镜像: docker pull rabbitmq:management创建数据卷: docker volume create rabbitmq-home运行容器: docker run -id --namerabbitmq -v rabbitmq-home:/var/lib/rabbitmq -p 156…

解决docker tag打标签时报错:Error response from daemon: no such id

现象: 原因: docker tag时不仅仅要Repository仓库名,也需要原有的tag作为版本号 解决办法: docker tag 原有仓库名: 原有tag值 新的打标名称 问题解决!

【LeetCode百道热题】1.两数之和

一,题目描述 给定一个整数数组nums和一个整数目标值target,请你在改数组中找出和为目标值target的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案,但是,数组中同一个元素在答案里不能重复出现…

陈海波:OpenHarmony技术领先,产学研深度协同,生态蓬勃发展

11月4日,以“技术筑生态,智联赢未来”为主题的第二届OpenHarmony技术大会在北京隆重举办。本次大会由OpenAtom OpenHarmony(简称“OpenHarmony")项目群技术指导委员会(TSC)主办,由华为技术…

【STM32-DSP库的使用】基于Keil5 + STM32CubeMX 手动添加、库添加方式

STM32-DSP库的使用 一.CMSIS-DSP1.1 DSP库简介1.2 支持的函数类别1.3 宏定义 二、操作2.1 STM32CubeMX 配置基本工程2.2 Lib库的方式实现(推荐)2.3 手动添加DSP文件(可以下载官方最新库,功能齐全) 三、MFCC测试DSP加速效果 为验证语音识别MFC…

搭建 Makefile+OpenOCD+CMSIS-DAP+Vscode arm-none-eabi-gcc 工程模板

STM32F407-GCC-Template Arm-none-eabi-gcc MakefileOpenOCDCMSIS-DAPVscode工程模板 一、本次环境搭建所用的软硬件 1)Windows or Linux (本文以Windows为主) 2)JLink、Daplink、Wch-Link烧录器 3)GNU Arm Embedded Toolchain交叉编译…

C++模板元模板实战书籍讲解第一章题目讲解

目录 第一题 C代码示例 第二题 C代码示例 第三题 3.1 使用std::integral_constant模板类 3.2 使用std::conditional结合std::is_same判断 总结 第四题 C代码示例 第五题 C代码示例 第六题 C代码示例 第七题 C代码示例 总结 第一题 对于元函数来说,…

贺天下功夫酱酒闪耀亮相2023佛山秋色系列活动

11月1日至5日,2023年广东非遗周暨佛山秋色巡游系列活动在佛山举行,以“品味佛山 秋醉岭南”为主题,好戏连台。贵州贺天下酒业独家赞助佛山祖庙秋祭、乡饮酒礼,还全面参与佛山秋色巡游、佛山非遗美食展、佛山非遗音乐会等多个活动&…

centos k8s安装dapr

文章目录 安装helm更新helm库初始化dapr高可用方式安装 卸载dapr验证k8s的dapr安装rocketmq总结 安装helm 三个包放到一个目录下 chmod x get ./get helm version更新helm库 helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update helm search repo dapr …

2023年腾讯云双11活动入口在哪里?

2023年双11腾讯云推出了11.11大促优惠活动,下面给大家分享腾讯云双11活动入口、活动时间、活动详情,希望可以助力大家轻松上云! 一、腾讯云双11活动入口 活动地址:点此直达 二、腾讯云双11活动时间 腾讯云双11活动时间跨度很长…

el-form添加自定义校验规则校验el-input只能输入数字

0 效果 1 代码 {1,5}是用来限制小数点后几位的 addFormRules: {investAmount: [{ validator: checkInvestAmount, trigger: blur }], }, const checkInvestAmount (rule, value, callback) > {if (value ! && value ! null && value ! undefined) {if (/…

css进阶知识点速览

0前言 零基础部分的博客 1选择器进阶 1.1后代选择器 作用:根据html标签的嵌套关系,选择父元素后代中满足条件的元素 选择器语法:选择器1 选择器2 {css} 结果: 在选择器1所找到标签的后代中 注意: 后代包括&#xf…