pyecharts绘制自定义点+连线取消箭头+时间帧叠加

pyecharts之Geo地图大法(详解,代码带注释+效果图)

近期项目上有地图自定义绘点+连线+分严重等级的需求,整了,分开处理啥都好说,多个数据放在同一维度的时候,只恨pyecharts的开发者为什么把功能整得这么简单,要点复杂的图都难搞,害!步入正题。

以下代码均可直接食用,且加上了宇宙无敌超级超级第一级别史无前有的 详细注释,带对应环境+版本号,直接看,直接用!!!!

(声明一下,网上太多的功能其实都是来自不同版本的,而不同版本之间很多功能都容易无法直接使用,且数据很多是不直接给的,或者没有效果图,看不到效果图就要咱先担着浪费时间找数据,改bug,改版本,还不一定是意向效果不知道参数意思的情况下去看,咱是真狗都 不想看)

地图自定义标点+连线

# 版本pyecharts==1.6.1,python3.7.6
import pandas as pd
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
import random
from pyecharts.globals import ChartType,SymbolType


# 获取数据
d1 = [('测试点1', 114.8021, 27.8261), ('测试点2', 115.18, 29.16), ('测试点3', 114.279, 29.001), ('测试点4', 116.024, 28.1079), ('测试点5', 118.01, 28.97)]# 经纬度
# d2 = [('测试点1', 11), ('测试点2', 44), ('测试点3', 88), ('测试点4', 0), ('测试点5', 56)]# 数值大小
d3 = [('测试点1', '测试点2'),('测试点1', '测试点3'),('测试点4', '测试点5')]


map=Geo(init_opts=opts.InitOpts(width="1900px",height='1080px'))


map.add_schema(
    maptype="江西",# 选择江西的板块地图
    itemstyle_opts=opts.ItemStyleOpts(color = '#ECECECFF',border_color = '#ECECECFF'),# 板块颜色和边框颜色设置为相同
    is_roam=True ,# 是否在鼠标移到节点上的时候突出显示节点以及节点的边和邻接节点。
)

# 根据经纬度自定义添加点
for i in d1:
    map.add_coordinate(i[0], i[1], i[2])

# 添加图例和对应数值大小,自己选择是否添加,不想要可以i[1]改为0或者空字符'' 
map.add('第一组值', 
        [(i[0], i[1]) for i in d2],
       type_=ChartType.SCATTER,
        symbol_size=12,# 点大小
       )

# 添加连线图
map.add(
    "点连线",
    d3,  #需要显示的元组对
    type_=ChartType.LINES,
    effect_opts=opts.EffectOpts(
        symbol=SymbolType.ARROW , 
        symbol_size=1, # 游动图标点的大小
        color="blue",# 线的颜色
        period = 7,# 点到终点的时长,周期,秒
    ),
    linestyle_opts=opts.LineStyleOpts(curve=0.4, color='#b0e2ff', opacity=0.3),# 线的样式,卷曲度,颜色,透明度, 设置is_polyline=True后线样式无效
    is_polyline=True,  # 取消连接线条尾部的箭头 
)

map.set_series_opts(label_opts=opts.LabelOpts(is_show=False),#  取消设置点的数值标签
                   )
map.set_global_opts(
    title_opts=opts.TitleOpts(title='测试图',
                              subtitle='测试专用'),
#     visualmap_opts=opts.VisualMapOpts(  #  设置不同严重程度的颜色, 不设置颜色时,将能看到实线条,推测该设置更改了某个设置线条的值
#         # 以下5个参数来自2.0.4,在1.6.1版本中未验证
# #         max_=100,# 最大数值
# #         min_=0, # 最小数值
# #         is_piecewise=True, # 是否将数值分组展示,默认渐变,不分组
# #         range_color=['#8FFF88FF','#FFB37FFF','#DE3333FF'] # 渐变颜色组
#     ),
#     toolbox_opts = opts.ToolboxOpts()
                   )
    
    
map.render('测试地图.html') 
# map.render_notebook()

效果图
在这里插入图片描述

地图自定义标点+连线+设置地点的不同值和颜色

 # 版本pyecharts==1.6.1,python3.7.6
import pandas as pd
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
import random
from pyecharts.globals import ChartType,SymbolType


# 获取数据
d1 = [('测试点1', 114.8021, 27.8261), ('测试点2', 115.18, 29.16), ('测试点3', 114.279, 29.001), ('测试点4', 116.024, 28.1079), ('测试点5', 118.01, 28.97)]# 经纬度
d2 = [('测试点1', 11), ('测试点2', 44), ('测试点3', 88), ('测试点4', 0), ('测试点5', 56)]# 数值大小
d3 = [('测试点1', '测试点2'),('测试点1', '测试点3'),('测试点4', '测试点5')]


map=Geo(init_opts=opts.InitOpts(width="1900px",height='1080px'))


map.add_schema(
    maptype="江西",# 选择江西的板块地图
    itemstyle_opts=opts.ItemStyleOpts(color = '#ECECECFF',border_color = '#ECECECFF'),# 板块颜色和边框颜色设置为相同
    is_roam=True ,# 是否在鼠标移到节点上的时候突出显示节点以及节点的边和邻接节点。
)

# 根据经纬度自定义添加点
for i in d1:
    map.add_coordinate(i[0], i[1], i[2])

# 添加图例和对应数值大小,自己选择是否添加 
map.add('第一组值', 
        [(i[0], i[1]) for i in d2],
       type_=ChartType.SCATTER,
        symbol_size=12,# 点大小
       )

# 添加连线图
map.add(
    "点连线",
    d3,  #需要显示的元组对
    type_=ChartType.LINES,
    effect_opts=opts.EffectOpts(
        symbol=SymbolType.ARROW , 
        symbol_size=1, # 游动图标点的大小
        color="blue",# 线的颜色
        period = 7,# 点到终点的时长,周期,秒
    ),
    linestyle_opts=opts.LineStyleOpts(curve=0.2, color='#b0e2ff', opacity=0.3),# 线的样式,卷曲度,颜色,透明度, 设置is_polyline=True后线样式无效
#     is_polyline=True,  # 取消连接线条尾部的箭头 
)

map.set_series_opts(label_opts=opts.LabelOpts(is_show=False),#  取消设置点的数值标签
                   )
map.set_global_opts(
    title_opts=opts.TitleOpts(title='测试图',
                              subtitle='测试专用'),
    visualmap_opts=opts.VisualMapOpts(  #  设置不同严重程度的颜色, 不设置颜色时,将能看到实线条,推测该设置更改了某个设置线条的值
        # 以下5个参数来自2.0.4,在1.6.1版本中未验证
#         max_=100,# 最大数值
#         min_=0, # 最小数值
#         is_piecewise=True, # 是否将数值分组展示,默认渐变,不分组
#         range_color=['#8FFF88FF','#FFB37FFF','#DE3333FF'] # 渐变颜色组
    ),
#     toolbox_opts = opts.ToolboxOpts()
                   )
    
    
map.render('测试地图2.html') 
# map.render_notebook()

效果图
在这里插入图片描述

地图自定义标点+连线+设置地点的不同值和颜色+时间线叠加图层

 # 版本pyecharts==1.6.1,python3.7.6
import pandas as pd
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
import random
from pyecharts.globals import ChartType,SymbolType
from pyecharts.charts import Bar, Timeline


# 获取数据
d1 = [('测试点1', 114.8021, 27.8261), ('测试点2', 115.18, 29.16), ('测试点3', 114.279, 29.001), ('测试点4', 116.024, 28.1079), ('测试点5', 118.01, 28.97)]# 经纬度
d2 = [('测试点1', 11), ('测试点2', 44), ('测试点3', 88), ('测试点4', 0), ('测试点5', 56)]# 数值大小
d3 = [('测试点1', '测试点2'),('测试点1', '测试点3'),('测试点4', '测试点5')]
d4 = ['某年月日1', '某年月日2', '某年月日3', '某年月日4']

timeline = Timeline()
for ind, my_map in enumerate(d4):
    map=Geo(init_opts=opts.InitOpts(width="1900px",height='1080px'))


    map.add_schema(
        maptype="江西",# 选择江西的板块地图
        itemstyle_opts=opts.ItemStyleOpts(color = '#ECECECFF',border_color = '#ECECECFF'),# 板块颜色和边框颜色设置为相同
        is_roam=True ,# 是否在鼠标移到节点上的时候突出显示节点以及节点的边和邻接节点。
    )

    # 根据经纬度自定义添加点
    for i in d1:
        map.add_coordinate(i[0], i[1], i[2])

    # 添加图例和对应数值大小,自己选择是否添加 
    map.add('第一组值', 
            [(i[0], i[1]+20*ind) for i in d2],# 为了在不同时间中能看出变化,作者在所有值里加了20,方便看到动态变化的效果
           type_=ChartType.SCATTER,
            symbol_size=12,# 点大小
           )

    # 添加连线图
    map.add(
        "点连线",
        d3,  #需要显示的元组对
        type_=ChartType.LINES,
        effect_opts=opts.EffectOpts(
            symbol=SymbolType.ARROW , 
            symbol_size=1, # 游动图标点的大小
            color="blue",# 线的颜色
            period = 7,# 点到终点的时长,周期,秒
        ),
        linestyle_opts=opts.LineStyleOpts(curve=0.2, color='#b0e2ff', opacity=0.3),# 线的样式,卷曲度,颜色,透明度, 设置is_polyline=True后线样式无效
    #     is_polyline=True,  # 取消连接线条尾部的箭头 
    )

    map.set_series_opts(label_opts=opts.LabelOpts(is_show=False),#  取消设置点的数值标签
                       )
    map.set_global_opts(
        title_opts=opts.TitleOpts(title='测试图',
                                  subtitle='测试专用'),
        visualmap_opts=opts.VisualMapOpts(  #  设置不同严重程度的颜色, 不设置颜色时,将能看到实线条,推测该设置更改了某个设置线条的值
            # 以下5个参数来自2.0.4,在1.6.1版本中未验证
    #         max_=100,# 最大数值
    #         min_=0, # 最小数值
    #         is_piecewise=True, # 是否将数值分组展示,默认渐变,不分组
    #         range_color=['#8FFF88FF','#FFB37FFF','#DE3333FF'] # 渐变颜色组
        ),
    #     toolbox_opts = opts.ToolboxOpts()
                   )
    
    timeline.add(map, my_map)# 添加单个图到对应时间线中
timeline.add_schema(is_auto_play=False, play_interval=1000)# 设置是否自动循环播放和播放间隔
timeline.render('测试地图-timeline.html')

在这里插入图片描述

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

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

相关文章

Java高级技术(反射:获取类的构造器)

一,常用方法 二,案例 (1),获取全部构造器 (2),获取某个构造器 (3),实验类 三, 初始化对象 四,案例

系列二十四、Spring设计模式之策略模式

一、前言 对于我们Java开发人员来说,Spring框架的重要性不言而喻,可以说Java领域之所以发展这么壮大,生态这么丰富,功能这么强大,是离不开Spring以及由其衍生出来的各种子模块的,正是由它们共同奠定了JavaE…

hutool工具连接数据库实现数据处理重新入库

1 引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.18</version></dependency><!--mysql驱动包--><dependency><groupId>mysql</groupId><ar…

Elasticsearch初识--CentOS7安装ES及Kibana

文章目录 一&#xff0e;前言二&#xff0e;介绍1.Elasticsearch2.Kibana 三&#xff0e;ES安装1.下载安装包2.解压、配置2.1 解压2.2 配置 3.启动3.1增加用户3.2启动 4.解决资源分配太少问题5.启动成功 四&#xff0e;Kibana安装1.下载安装包2.解压、配置2.1 解压2.2 配置2.2 …

聚观早报 |魅族21搭载超声波指纹2.0;华为长安成立新公司

【聚观365】11月28日消息 魅族21搭载超声波指纹2.0 华为长安成立新公司 OPPO Reno11 Pro本周首销 淘宝天猫推出系列AI工具 长城汽车计划全面进入欧洲市场 魅族21搭载超声波指纹2.0 魅族官方此前已宣布&#xff0c;将于11月30日召开“2023魅族秋季无界生态发布会”&#x…

【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【工具】Zotero|使用Zotero向Word中插入引用文献(2023年)

版本&#xff1a;Word 2021&#xff0c;Zotero 6.0.30 前言&#xff1a;两年前我找网上插入文献的方式&#xff0c;网上的博客提示让我去官网下个插件然后才能装&#xff0c;非常麻烦&#xff0c;导致我对Zotero都产生了阴影。最近误打误撞发现Zotero自带了Word插件&#xff0c…

集成IDE开发环境,Java开发工具IntelliJ IDEA 2023中文

IntelliJ IDEA 2023是一款功能强大的软件&#xff0c;其为程序员提供了一款先进的集成开发环境。它以智能、高效和人性化为主要特点&#xff0c;致力于提高开发人员的生产力&#xff0c;帮助程序员更快、更好地编写代码。IntelliJ IDEA 2023支持多种语言和框架&#xff0c;包括…

iOS 通用链接的配置(Universal Links)

一、打开Associated Domains 1.首先登录 苹果开发者网站 2.Certificates, Identifiers & Profiles 下的Identifiers 找到要配追的Identifiers 点进去 3.打开Associated Domains然后保存 二、更新Profile文件 如果我们使用自动的&#xff0c;可以忽略这一步&#xff0c;…

梦极光(ez_re???)

ez_re 先查壳看看&#xff0c;没有壳 32位 我先说说这道题 打开分析找到主函数 在这里就是flag了&#xff0c;用十六进制转ascll码 我们先运行这个程序看看 我想说说我的想法 首先没看出来这里是十六进制转ascll码其次41D538数组用来干啥来的&#xff1f;题目里面给出的请…

Docker监控Weave Scope的安装和使用

1.本地安装Weave Scope 1&#xff09;创建文件夹。 mkdir /usr/local/bin/scope 2&#xff09;从本地上传文件。 rz scope.bin以资源形式已上传到文章开篇。 3&#xff09;修改scope.bin文件为可执行文件。 chmod 755 /usr/local/bin/scope/scope.bin 4&#xff09;执行sco…

Linux文件目录结构_文件管理

Linux文件目录结构 Linux目录结构简洁 windows:以多根的方式组织文件 C:\ D:\ E:\ Linux: 以单根的方式组织文件/ Linux目录结构视图 注意区分&#xff1a; 系统管理员&#xff1a;中文“根”&#xff0c;root 系统目录&#xff08;文件夹&#xff09;&#xff1a;根&#xf…

Unity之ARFoundation如何实现BodyTracking人体跟踪

前言 ARBodyTracking,就是指通过手机AR扫描并精确的捕获人物的肢体部位的技术。如下图所示 这项技术目前是有苹果的ARKit提供,苹果的body tracking 功能需要使用配备 TrueDepth 摄像头的设备,配备 A12 仿生芯片、运行 iOS 13 或更高版本的设备,比如 iPhone X 及更新机型。…

matlab频谱合成音乐《追光者》

选择你喜欢的一首钢琴曲&#xff0c;下载并分析曲谱&#xff0c;用matlab工具用频谱合成方法完成这首曲子的音乐合成。 前言&#xff1a;此文章为个人使用Matlab合成一首《追光者》音乐&#xff0c;且带混响和声效果 文章目录 一.题目二.要求三.课程设计目的四.概要设计五.详细…

【算法】一个简单的整数问题(树状数组、差分)

题目 给定长度为 N 的数列 A&#xff0c;然后输入 M 行操作指令。 第一类指令形如 C l r d&#xff0c;表示把数列中第 l∼r 个数都加 d。 第二类指令形如 Q x&#xff0c;表示询问数列中第 x 个数的值。 对于每个询问&#xff0c;输出一个整数表示答案。 输入格式 第一行…

chatgpt prompt提示词

ChatGPT 最近十分火爆&#xff0c;今天我也来让 ChatGPT 帮我阅读一下 Vue3 的源代码。 都知道 Vue3 组件有一个 setup函数。那么它内部做了什么呢&#xff0c;今天跟随 ChatGPT 来一探究竟。 实战 1.setup setup 函数在什么位置呢&#xff0c;我们不知道他的实现函数名称&…

每日一练:简易计算器

1. 题目 设计实现一个简易的计算器&#xff0c;可以进行加减乘除的计算。可以考虑通过GUI和命令行输入等方式实现。 2. 设计思路 创建一个简单的用户界面&#xff0c;可以使用 Python 的 Tkinter模块。在界面上放置按钮&#xff0c;每个按钮代表一个数字、运算符或其他功能。…

【Redis实现全局唯一ID】

一、全局唯一ID的需求产生。 在订单业务中&#xff0c;我们需要保证id是绝对唯一的。 使用数据库自增长的id在分布式的情况下把表做了拆分处理后有可能会出现id重复的情况&#xff0c;这就违背了唯一性。而且数据自增长的id有很强的规律性&#xff0c;可以根据id推断出订单的数…

人工智能|机器学习——机器学习如何判断模型训练是否充分

一、查看训练日志 训练日志是机器学习中广泛使用的训练诊断工具&#xff0c;每个 epoch 或 iterator 结束后&#xff0c;在训练集和验证集上评估模型&#xff0c;并以折线图的形式显示模型性能和收敛状况。训练期间查看模型的训练日志可用于判断模型训练时的问题&#xff0c;例…

基于振弦式轴力计和采集仪的安全监测解决方案

基于振弦式轴力计和采集仪的安全监测解决方案 振弦式轴力计是一种测量结构物轴向力的设备&#xff0c;通过测量结构物上的振弦振幅变化&#xff0c;可以确定结构物轴向力的大小。采集仪是一种用于采集和存储传感器数据的设备&#xff0c;通常与振弦式轴力计一起使用&#xff0c…