【plotly】用绘图函数,定位坐标相关的问题

2023-11-17

公司的业务场景有涉及到快递配送的场景。某次有运营同学反馈某个订单划分异常,没有划分给距离最近的快递员,让调查这个问题。

因为存在数据库中的数据不直观,就想到用绘图工具,把订单的配送位置和快递员当时的定位位置绘制出来,方便调查问题。

要求就是能绘制多个种类、多个点,并且能展示某个点的额外信息(如这个点对应的订单号等),而plotly库刚好符合要求,于是便写了一个简单的绘制函数。具体如下:

详细实现方案

主要用到的包是plotly,相关包安装指令:

pip install plotly

用的是绘制散点图的函数,我把所有要绘制的信息,保存在dict中,然后用如下的方式进行绘制:

def draw_scatter(draw_dict):
    data = list()
    for key in draw_dict:

        if "text" in draw_dict[key].keys():
            trace = go.Scatter(x=draw_dict[key]["x_sets"],
                               y=draw_dict[key]["y_sets"],
                               mode='markers',
                               text=draw_dict[key]["text"],
                               name=key)
        else:
            trace = go.Scatter(x=draw_dict[key]["x_sets"],
                               y=draw_dict[key]["y_sets"],
                               mode='markers',
                               name=key)
        data.append(trace)

    py.iplot(data)

然后就是组织数据,调用 draw_scatter 函数即可:

draw_dict = dict()

# 添加订单的经纬度和信息
order_lng = order_df["longitude"].to_list()
order_lat = order_df["latitude"].to_list()
order_no = order_df["order_no"].to_list()
draw_dict["order"] = {"x_sets": order_lng, "y_sets": order_lat, "text": order_no}

# 添加快递员的经纬度和信息
person_lng = person_df["longitude"].to_list()
person_lat = person_df["latitude"].to_list()
person_id = person_df["id"].to_list()
draw_dict["person"] = {"x_sets": person_lng, "y_sets": person_lat, "text": person_id}

# 绘制订单和快递员的信息
draw_scatter(draw_dict=draw_dict)

绘制出的图片如下(可以在绘制出的图片中看到坐标信息以及订单号等信息):

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【plotly】用绘图函数,定位坐标相关的问题 的相关文章

随机推荐

  • 数字化时代-29:CSDN排名规则详细解读

    最近在CSDN的总榜单上一直徘徊在1000名出头 每周有二十多篇的新的原创文章 总积分也在持续增长 但排名一直没有进步 我很好奇 难道其他1000名左右的创造者的都这么疯狂 每周都会发表20篇以上的文章 于是怀着好奇心研读了一下CSDN排名
  • 利用vue-cli脚手架创建项目

    利用vue cli脚手架创建项目 安装vue cli脚手架 全局安装 npm install g vue cli 使用vue version查看是否安装完成 显示对应版本号 使用命令行创建 vue create 项目名称 default包含
  • 几个高危端口

    注意到检测系统显示的高危漏洞分别是22 135 139 445 3389端口 今天就分别了解下这些端口一般情况下是干什么用的 22 22端口一般用于ssh的数据传输 一般linux系统 除非你直接在终端上操作 不然你多半会通过ssh连接到l
  • 吐血推荐!5款好用又骚气的神站!真的有毒!(附网址)

    1 交互式元素周期表 https ptable com 喜欢化学的同学千万不要错过了 这里可以在线学习交互式元素周期表 想知道什么元素 让你学习到丰富的化学元素知识 2 无聊巨作VII第二部 http www spielzeugz de h
  • 使用StarUML创建类图

    1 综述 What StarUML是一种生成类图和其他类型的UML图表的工具 本文是一个使用StarUML创建类图 Java语言描述 的简明手册 StarUML 简称SU 是一种创建UML类图 并能够自动生成Java的 stub code
  • 概说概要设计怎么做

    概说概要设计怎么做 51CMM COM原创 作者 厦门巨龙软件工程有限公司 卢琳生 2003 12 22 摘要 本文是在概要设计实践和学习中的一些心得与学习笔记 希望与大家分享 如有不妥之处欢迎指正 关键字 概要设计 结构化 OOD 正文
  • 大数据学习-3.Linux下Web服务器的搭建与配置

    文章目录 简介 一 关闭防火墙和selinux 1 关闭防火墙 1 关闭selinux 二 Web服务器与配置 1 Apache 2 Nginx 简介 本文主要介绍在CentOS下 Apache与Nginx 服务的搭建与配置 一 关闭防火墙
  • springboot redis Unsatisfied dependency expressed through method ‘redisTemplate‘ parameter 0

    pom xml中导入包更换写
  • SpringBoot RabbitMq 六大模式

    目录 依赖 配置 简单队列 模型 代码示例 工作队列 模型 代码示例 订阅模式 模型 代码示例 路由模式 模型 代码示例 主题模式 模型 代码示例 RPC 依赖 配置 依赖
  • 【华为机试在线训练】Day 10

    自动售货系统 题目描述 1 总体说明 考生需要模拟实现一个简单的自动售货系统 实现投币 购买商品 退币 查询库存商品及存钱盒信息的功能 系统初始化时自动售货机中商品为6种商品 商品的单价参见1 1规格说明 存钱盒内放置1元 2元 5元 10
  • POJ - 3259 Wormholes

    While exploring his many farms Farmer John has discovered a number of amazing wormholes A wormhole is very peculiar beca
  • linux网络全景指南

    自我介绍 腾讯云网络高级工程师 腾讯云网络核心开发人员 欢迎微信搜索 职场重生 关注公众号 职场重生 后续更多精彩内容发布 万字长文 建议收藏 引言 本期分享一个比较常见的 络问题 丢包 例如我们去ping 个 站 如果能ping通 且 站
  • python画散点图-python学习之matplotlib绘制散点图实例

    要绘制单个点 可使用函数scatter 并向其传递一对x和y坐标 它将在指定位置绘制一个点 使用scatter 绘制散点图 import matplotlib pyplot as plt plt scatter 2 4 plt show 下
  • visual studio 的各个版本下载地址,很全,从 6.0 一直 到 vs2013,要的拿去吧

    Microsoft Visual Studio 6 0 下载 英文版360云盘下载 http l11 yunpan cn lk sVeBLC3bhumrI 英文版115网盘下载 http 115 com file bew2qrau 英文版迅
  • org.springframework.transaction.UnexpectedRollbackException 解决

    1 异常 org springframework transaction UnexpectedRollbackException Transaction rolled back because it has been marked as r
  • TXT文本文件存储

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 TXT
  • 【C++】细说C++中的数组之“静态”数组

    转自博主 https blog csdn net u013921430 article details 79514972 感谢分享 以备学习
  • 【设计模式】原型模式

    原型模式 Prototype Pattern 是用于创建重复的对象 同时又能保证性能 这种类型的设计模式属于创建型模式 它提供了一种创建对象的最佳方式之一 这种模式是实现了一个原型接口 该接口用于创建当前对象的克隆 当直接创建对象的代价比较
  • C/C++排序

    目录 C排序 头文件 使用 C 排序 头文件 使用 1 自定义类型 2 自定义类型 C排序 C语言中排序函数为qsort 原理为快速排序 头文件 在使用前 要添加头文件如下 include
  • 【plotly】用绘图函数,定位坐标相关的问题

    公司的业务场景有涉及到快递配送的场景 某次有运营同学反馈某个订单划分异常 没有划分给距离最近的快递员 让调查这个问题 因为存在数据库中的数据不直观 就想到用绘图工具 把订单的配送位置和快递员当时的定位位置绘制出来 方便调查问题 要求就是能绘