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

news2024/11/24 5:35:03

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')

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

简介vue

目录 一、介绍 渐进式框架​ 单文件组件​ 选项式 API (Options API)​ 组合式 API (Composition API)​ 该选哪一个?​ 创建一个 Vue 应用 应用实例​ 根组件​ DOM 中的根组件模板 应用配置​ 多个应用实例​ 一、介绍 Vue (发音为 /vjuː/&#xff…

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)

条件覆盖 设计测试用例,使每个判断中每个条件的可能取值至少满足一次。 条件判定覆盖 通过设计足够的测试用例,满足如下条件: 所有条件的可能至少执行一次的取值 所有判断的可能结果至少执行一次 条件判定覆盖同时满足判定覆…

灰度发布专题---3、Nginx+Lua灰度发布

上一章已经讲解了配置文件灰度发布、应用版本灰度发布、API网关灰度发布实现,但如果用户这时候在代理层如何做灰度发布呢? 代理层灰度发布分析 用户无论访问应用服务还是静态页,都要经过Nginx代理层,我们可以在Nginx这里做灰度发…

读像火箭科学家一样思考笔记12_实践与测试(下)

1. 舆论的火箭科学 1.1. 如果苹果违反了“即飞即测”原则,那苹果的iPhone就不会问世了 1.1.1. iPhone在其上市前的民意调查中相当失败 1.1.1.1. iPhone不可能获得太大市场份额,不可能。 1.1.1.1.1. 微软前CEO史蒂夫鲍尔默(Steve Ballmer&…

AIGC系列之:GroundingDNIO原理解读及在Stable Diffusion中使用

目录 1.前言 2.方法概括 3.算法介绍 3.1图像-文本特征提取与增强 3.2基于文本引导的目标检测 3.3跨模态解码器 3.4文本prompt特征提取 4.应用场景 4.1结合生成模型完成目标区域生成 4.2结合stable diffusion完成图像编辑 4.3结合分割模型完成任意图像分割 1.前言 …

第20章 多线程

创建线程 继承Thread 类 Thread 类时 java.lang 包中的一个类,从类中实例化的对象代表线程,程序员启动一个新线程需要建立 Thread 实例。 Thread 对象需要一个任务来执行,任务是指线程在启动时执行的工作,start() 方法启动线程…

第一百八十二回 自定义一个可以滑动的刻度尺

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法3. 示例代码4. 内容总结我们在上一章回中介绍了"如何绘制阴影效果"相关的内容,本章回中将介绍 如何自定义一个可以滑动的刻度尺.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 任何优美的文字在图…

[SaaS] 广告创意中stable-diffusion的应用

深度对谈:广告创意领域中 AIGC 的应用这个领域非常快速发展,所以你应该保持好奇心,不断尝试新事物,不断挑战自己。https://mp.weixin.qq.com/s/ux9iEABNois3y4wwyaDzAQ我对AIGC领域应用调研,除了MaaS服务之外&#xff…

电荷泵升压/降压电路

一、升压\降压电路原理分析 1、升压电路 电荷泵升压电路 VoutVa5V 5V_PLUS0V时,Va给C2充电,C2上节点电压比C2下节点电压高Va; 5V_PLUS5V时,C2电压不能突变,C2上节点电压依然比C2下节点电压高Va,但C2下节点…

supermap-iserver激活教程(linux)

本篇只介绍linux临时许可激活教程,windows的原理一摸一样不做赘述。 1.下载许可中心(web版) SuperMap技术资源中心|为您提供全面的在线技术服务 2.解压 supermap-bslicense-server-3.0.24-linux-x64.tar.gz tar -zxvf supermap-bslicense…

选择排序以及改进方案

选择排序以及改进方案 介绍: 选择排序是一种简单直观的排序算法,它的基本思想是在未排序序列中选择最小(或最大)的元素,然后将其放在已排序序列的末尾。选择排序的过程就像是每次从待排序的元素中选择最小的一个&…

Java基于ssm的租房求租网站房东直租中介托管房屋出租项目源码

演示视频 https://www.bilibili.com/video/BV1Lh411J7ic/?share_sourcecopy_web&vd_source11344bb73ef9b33550b8202d07ae139b 可转成springboot项目。 主要功能:租户可以浏览搜索收藏房源,预约看房,发布求租信息。房东可以发布管理房源…

2023-11-28-直播单细胞图表美化-seurat数据结构 featureplot dotplot vlnplot

单细胞常见的可视化方式有DimPlot,FeaturePlot ,DotPlot ,VlnPlot 和 DoHeatmap几种 ,Seurat中均可以很简单的实现,但是文献中的图大多会精美很多。 之前 跟SCI学umap图| ggplot2 绘制umap图,坐标位置 &am…

SSL证书实惠品牌——JoySSL

随着互联网的普及和发展,网络安全问题日益严重。为了保护网站数据的安全,越来越多的网站开始使用SSL证书。JoySSL证书作为一款高性价比的SSL证书,受到了广泛的关注和好评。 目前市面上主流的证书基本上都是国外证书,也就是说你在验…

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏4(附项目源码)

文章目录 本节最终效果前言命中敌人闪白和击退效果敌人死亡效果等级 击杀数 经验绘制经验条显示等级和杀敌数游戏倒计时玩家血条参考源码完结 本节最终效果 前言 本节紧跟着上一篇,主要实现敌人受击死亡效果特效,主角等级、击杀数、经验、血条UI显示。 …

C# datagridview控件 绑定数据库中表中数据的方式-3

1.如下图所示,为数据库中的一张表结构,注意该表中共有11个字段 2.首先在窗体后台代码中拖入一个datagridview控件,并在窗体加载时,给datagridview控件添加列,添加的方式如下所示:请注意,每个列…

机器学习笔记 - 基于百度飞桨PaddleSeg的人体分割

一、简述 虽然Segment Anything用于图像分割的通用大模型看起来很酷(飞桨也提供分割一切的模型),但是个人感觉落地应用的时候心里还是更倾向于飞桨这种场景式的,因为需要用到一些人体分割的需求,所以这里主要是对飞桨高性能图像分割开发套件进行了解和使用,但是暂时不训练…

docker镜像原理

什么是镜像 容器解决应用开发、测试和部署的问题,而镜像解决应用部署环境问题。镜像是一个只读的容器模板, 打包了应用程序和应用程序所依赖的文件系统以及启动容器的配置文件,是启动容器的基础。镜像所打 包的文件内容就是容器的系统运行环…

SLURM资源调度管理系统REST API服务配置,基于slurm22.05.9,centos9stream默认版本

前面给大家将了一下slurm集群的简单配置,这里给大家再提升一下,配置slurm服务的restful的api,这样大家可以将slurm服务通过api整合到桌面或者网页端,通过桌面或者网页界面进行管理。 1、SLURM集群配置 这里请大家参考&#xff1…

【古月居《ros入门21讲》学习笔记】14_参数的使用与编程方法

目录 说明: 1. 参数模型(全局字典) 2. 实现过程(C) 创建功能包 参数命令行的使用 YAML参数文件 rosparam命令 使用示例 编程方法(C) 配置代码编译规则 编译并运行 编译 运行 3. 实…