使用Plotly创建自定义指标图表

news2024/9/23 13:26:45

大家好,使用Plotly可以创建和自定义指标图表,本文中将介绍如何使用Plotly库创建指标图表的具体操作步骤。

Plotly简介

Plotly是一个强大的数据可视化工具,允许我们使用Python创建各种交互式绘图和图表。在Plotly提供的无数类型的图表中,有一种特别简单明了的类型是“指标图表”。这些图表非常适合仪表盘,你可以在其中强调关键指标或追踪一段时间内的变化。

导入

在深入研究细节之前,需要导入Plotly库。这是任何涉及外部库的Python程序中典型的第一步:

import plotly.graph_objects as go

创建指标图表

让我们考虑一个场景,我们有两个值-120和150。我们要使用参考值100创建这些值的指标。参考值是我们将实际值与之进行比较的基准或标准。

我们的目标是生成下图:

 以下是创建指标的步骤:

# 创建绘图的布局
layout = go.Layout(
    grid = {'rows': 1, 'columns': 2, 'pattern': 'independent'},
    width = 600,  # 宽度像素
    height = 300  # 高度像素
)
fig = go.Figure(layout=layout)
# 第一个值
fig.add_trace(go.Indicator(
    mode = "number+delta+gauge",
    value = 120,
    delta = {'reference': 100},
    gauge = {
        'axis': {'visible': True, 'range': [None, 150]},
        'steps': [
            {'range': [0, 100], 'color': "lightgray"}
        ],
        'threshold': {
            'line': {'color': "red", 'width': 4},
            'thickness': 0.75,
            'value': 100
        }
    },
    title = {"text": "Value 1"},
    domain = {'x': [0, 0.5], 'y': [0, 1]}
))
# 第二个值
fig.add_trace(go.Indicator(
    mode = "number+delta+gauge",
    value = 150,
    delta = {'reference': 100},
    gauge = {
        'axis': {'visible': True, 'range': [None, 200]},
        'steps': [
            {'range': [0, 100], 'color': "lightgray"}
        ],
        'threshold': {
            'line': {'color': "red", 'width': 4},
            'thickness': 0.75,
            'value': 100
        }
    },
    title = {"text": "Value 2"},
    domain = {'x': [0.5, 1], 'y': [0, 1]}
))
fig.show()

在所讨论的代码中,我们使用go.Indicator函数来创建指标。一开始可能看起来会感觉有点复杂,但一旦我们了解它使用的参数,一切就都水到渠成了。以下是其中所使用参数的概要介绍:

  • mode:此参数设置指标的模式。通过将其设置为“number+delta+gauge”,我们告诉Plotly显示实际值(number)、与参考值的差异(delta)以及在其范围内可视化数值的仪表(gauge)。

  • value:这是该指标将显示的实际值。

  • delta:此参数用于展示实际值和参考值之间的差异。当你想要突出变化或增长时,这特别有用。

  • gauge:这是为我们的值提供背景的一个视觉表示。它类似于一个速度表,显示了我们的值在特定范围内所处的位置。在gauge参数中,我们可以进一步自定义axis(仪表的范围)、steps(仪表的分段)和threshold (仪表上标记的值)。

  • title:这只是指标的标题。

  • domain:此参数确定每个指标所占据的绘图区域,这有助于我们将指标并排定位放置。

通过理解和调整这些参数,你可以自定义指标图表以适应你的数据和受众需求。你可以尝试不同颜色、调整范围、重新定位指标等等。

然而,虽然美学定制是数据可视化的一个很好的方面,但重要的是要记住,任何数据可视化的主要目标都是清晰准确地表示数据。因此,总是优先考虑清晰性而不是华丽性。

我们使用Plotly创建了一个简单而强大的数据可视化,同时Plotly提供了许多功能和类型的图表供大家探索。

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

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

相关文章

【MySQL】MySQL里程碑

个人主页:【😊个人主页】 系列专栏:【❤️MySQL】 文章目录 时间表从产品特性的角度梳理其发展过程中了解MySQL里程碑事件 时间表 从产品特性的角度梳理其发展过程中了解MySQL里程碑事件 1995年,MySQL 1.0发布,仅供内…

【LeetCode周赛】2022上半年题目精选集——贪心

文章目录 2136. 全部开花的最早一天(贪心)⭐⭐⭐⭐⭐思路代码语法解析:Integer[] id IntStream.range(0, plantTime.length).boxed().toArray(Integer[]::new); 2141. 同时运行 N 台电脑的最长时间(贪心)⭐⭐⭐⭐⭐解…

一分钟带你创建百万测试数据,玩转软件测试

准备测试数据是软件测试中非常重要的一个环节,无论是手工测试、动化测试还是性能测试,生成大量测试数据以评估性能是一项重要任务。 然而,寻找合适的测试数据并确保其质量常常是一项繁琐且耗时的工作。 先来看一下准备测试数据常见的四类方法…

Vue 实时显示时间

Vue 实时显示时间 getNowTime() {setInterval(() > {const date new Date();var year date.getFullYear();var month (date.getMonth() 1).toString().padStart(2, "0");var day date.getDate().toString().padStart(2, "0");var hours date.ge…

人工智能商业变现途径,并介绍详细公司案列

目录 1. 推荐系统:2. 智能广告和营销:3. 聊天机器人和虚拟助手:4. 自动化和机器人化:5. 数据分析和预测:6. 机器视觉和图像识别:7. 金融科技(FinTech):8. 医疗诊断和健康…

【成长之路】nginx配置https遇到的一系列问题

问题一:拿到手的文件并没有网上说的crt和key,而是一个cer、key和csr 按照网上说的,将cer转成pem文件,配置之后确实好使了 server {listen 443 ssl;ssl_certificate /opt/nginx/conf/域名.cer;ssl_certificate_key /opt/nginx/co…

诚迈科技董事长、统信软件董事长王继平出席全球数字经济大会

7月5日,2023全球数字经济大会“数字未来新一代软件产业高质量发展论坛”在北京大兴隆重举行。论坛以“数字新高地,数创兴未来”为主题,共同探讨产业升级新路径,凝聚数字经济合作新共识,构建数字产业集聚发展新高地。诚…

python接口自动化之DDT数据驱动测试

一、简单介绍 DDT(Date Driver Test),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。通过使用数据驱动测试的方法,可以在需要验证多组数据测试场景中&…

YApi-高效、易用、功能强大的可视化接口管理平台——(二)YApi 分组权限

YApi 分组权限 认识 YApi角色划分项目权限分组权限分组操作创建分组项目列表添加成员分组删除 认识 YApi YApi 是一个开源的接口管理平台,可以方便地管理和测试 API 接口,支持接口文档自动生成、Mock 数据生成、接口测试和接口监控等功能。YApi 支持多人…

TCP 协议报文

TCP 提供面向连接的通信传输,面向连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接…

ATFX国际:大非农数据来袭,美国劳动力市场需求或空前旺盛

ATFX国际:昨日晚间公布的ADP数据震惊市场,新增就业人口高达49.7万人,而预期值仅为22.8万人,前值也只有26.7万人。公布值约为预期值和前值的总和。 ▲ATFX图 ADP数据是非农就业报告的前瞻指标,前者表现亮眼&#xff0c…

vue 表单校验不通过问题

记录 vue element 表单验证有值但验证失败问题 <el-form ref"form" :model"form" :rules"rules" class"baseForm"label-width"160px"><div class"sub-body"><el-row><el-col :span"24…

simulink 查表模块lookup table

一维查表 及样条曲线 或者m脚本 clear; x [1 2 3 4 5]; y [1 3 5 3 1];%二维表格 x1 [1 2 3]; x2 [1 2 3 4 5]; y2 [1 2 3 4 5; 6 7 8 9 10; 11 12 13 14 15];%三维表格 k1 [1 2 3]; k2 [1 2 3]; k3 [1 2 3 4 5];for i 1:1:3for j 1:1:3for k 1:1:5y3(i,j,k) ijk;…

数学建模常用算法之Logistic回归

数学建模常用算法之Logistic回归 目录一元回归一元线性回归一元非线性回归 多元回归逐步回归logistic回归 目录 一元回归 一元线性回归 最小二乘法 设&#xff1a; ybxa即可求得 %% 输入数据 clc, clear all, close all x[23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80…

Zabbix 的使用

Zabbix 的使用 一、添加 zabbix 客户端主机1.1 环境准备1.2 服务端和客户端都配置时间同步1.3 服务端和客户端都设置 hosts 解析1.4 设置 zabbix 的下载源&#xff0c;安装 zabbix-agent21.5 修改 agent2 配置文件1.6 启动 zabbix-agent21.7 在服务端验证 zabbix-agent2 的连通…

粮油溯源系统源码 全流程可视化质量溯源系统源码

粮油质量溯源系统源码 粮油溯源系统是从种植到加工、包装、库存、物流、销售、售出、异常反馈的全流程可视化质量溯源系统。 粮油安全关系千千万万消费者的健康问题。近年来&#xff0c;许多食品行业安全事故频频涌现&#xff0c;成为社会关注焦点。粮油做为人们生活饮食中的…

jpa使用uuid策略后无法手动设置id的问题

实体对象定义如下&#xff1a; Data Entity Table(name "sys_user") public class UserDO {/** 用户id */IdGenericGenerator(name "uuid", strategy "org.hibernate.id.UUIDGenerator")GeneratedValue(generator "uuid")Column(…

linux ifconfig: command not found

ifconfig 报 -bash: ifconfig: command not found 此时我们查看 /sbin 目录&#xff0c;会发现他是没有 ifconfig 相关文件的 ls | grep ifconfig # 查看不到相关文件 ip addr 后显示 ens33没有ip地址 发现 ens33 没有 inet 这个属性&#xff0c;那么就没法通过IP地…

【Distributed】分布式监控系统zabbix应用(二)

文章目录 一、部署 Zabbix 代理服务器1. 分布式监控的作用2. 部署过程2.1 设置 zabbix 的下载源&#xff0c;安装 zabbix-proxy2.2 部署数据库2.3 导入数据库信息2.4 修改 zabbix-proxy 配置文件2.5 启动 zabbix-proxy2.6 在所有主机上配置 hosts 解析2.7 在 Web 页面配置 agen…

iOS打包IPA教程

转载&#xff1a;xcode打包导出ipa 众所周知&#xff0c;在开发苹果应用时需要使用签名&#xff08;证书&#xff09;才能进行打包安装苹果 IPA&#xff0c;作为刚接触ios开发的同学&#xff0c;只是学习ios app开发内测&#xff0c;并没有上架appstore需求&#xff0c;对于苹…