可视化图表API格式要求有哪些?Sugar BI详细代码示例(2)
Sugar BI中的每个图表可以对应一个数据 API,用户浏览报表时,选定一定的过滤条件,点击「查询」按钮将会通过 API 拉取相应的数据;前面说过,为了确保用户数据的安全性,Sugar BI上的所有数据请求都在Sugar BI的后端通过 curl 的方式访问产品线的 API,都是使用的POST请求。
POST 的数据是过滤条件、下钻、联动参数等,并且在请求的 Header 中会附加Sugar-Token.
Sugar BI支持多种类型的展示图表,每种类型的图表所需要的后端 API 返回的数据格式都有所区别,之前已经发布了
可视化图表API格式要求有哪些?Sugar BI详细代码示例(1)
今天,为大家带来其他图表所对应的数据 API 格式:
嵌套饼图
API 示例:/openapi/demo/chart?type=pieNested
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "", // 失败时的提示信息"data": [[ // 内层的饼图数据{"name": "chrome","value": 46},{"name": "ie","value": 32},{"name": "fireFox","value": 36},......],[ // 外层的环形饼图数据// 注意外层子扇区的顺序需要与内层母扇区的顺序进行对应// 例如这里子扇区也是按照 chrome, ie, firefox 的顺序排列的{"name": "chrome49","value": 14},{"name": "chrome50","value": 32},{"name": "IE10","value": 10},{"name": "IE11","value": 22},{"name": "fireFox62","value": 20},{"name": "fireFox65","value": 6},......]]
}
漏斗图
API 示例:/openapi/demo/chart?type=funnel
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "", // 失败时的提示信息"data": {"unit": "%", // 单位,可以不传"data": [{"name": "首页","value": 12323,"url": "www.baidu.com" // 这个字段供超链接类型的下钻使用,在配置下钻时的「绑定超链接的数据字段」处填写url即可},{"name": "首页->列表页","value": 23457,"url": "www.baidu.com"},{"name": "首页->列表页->下单页","value": 23457,"url": "www.baidu.com"},......]}
}
字符云
API 示例:/openapi/demo/chart?type=wordCloud
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "", // 失败时的提示信息"data": [{"name": "热词1","value": 46,"url": "www.baidu.com" // 这个字段供超链接类型的下钻使用,在配置下钻时的「绑定超链接的数据字段」处填写url即可},{"name": "热词2","value": 32,"url": "www.baidu.com"},{"name": "热词3","value": 16,"url": "www.baidu.com"},{"name": "热词4","value": 15,"url": "www.baidu.com"},......]
}
雷达图
API 示例:/openapi/demo/chart?type=radar
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "", // 失败时的提示信息"data": {indicators:[{"text": "顶点1", // 顶点展示的文字"max": 10, // 该顶点的最大值"min": 0 // 该顶点的最小值,可不传,默认为0},{"text": "顶点2", // 顶点展示的文字"max": 20, // 该顶点的最大值"min": 5 // 该顶点的最小值,可不传,默认为0},{"text": "顶点3", // 顶点展示的文字"max": 10, // 该顶点的最大值"min": 2 // 该顶点的最小值,可不传,默认为0},......],"series": [{"name": "预算开支","value": [8, 18, 9, ...] // 数组元素个数和indicators相同},{"name": "实际开销","value": [9, 15, 7, ...] // 数组元素个数和indicators相同},......]}
}
里程碑
API 示例:/openapi/demo/chart?type=milestones
支持以下 3 种类型:
1.1 个日期维度,1 个非日期维度
response:
{ "status": 0, // 0表示成功,非0表示失败"msg": "","data": {"date": { // 日期维度描述"name": "date","alias": "发货日期"},"x2": [ // 非日期维度描述{"name": "x2","alias": "地区"}],"y": [], // 指标度量描述"data": [{"date": "2013年","date_sugar_origin": 2013,"date_sugar_date_type": "YEAR","x2": ["东北","中南","华东","华北","西北","西南"]},...{"date": "2017年","date_sugar_origin": 2017,"date_sugar_date_type": "YEAR","x2": ["东北","中南"]}]}
}
2.1 个日期维度,1 个非日期维度,1 个指标
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "","data": {"date": {"name": "date","alias": "年份" // 日期维度名称},"x2": [{"name": "x2","alias": "地区" // 非日期维度名称}],"y": [{"name": "y","alias": "销售额", // 指标字段名称"unit": "元" // 指标字段单位}],"data": [{"date": "2013年","x2": ["东北", "中南", "华东", "华北", "西北", "西南"],"y": [9322, 9050, 1579, 7942, 5072, 8310]},{"date": "2014年","x2": ["东北","中南","华东","华北","西北","西南"],"y": [6513, 1731, 8109, 2547, 6470, 699]},...]}
}
3. 1 个日期维度,1-3 个指标
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "","data": {{"date": { // 日期维度描述"name": "date","alias": "发货日期"},"x2": [], // 非日期维度描述"y": [ // 指标度量描述{"name": "y","alias": "数量","unit": "个", // 单位"dataFormat": "" // 格式化},{"name": "y","alias": "销售额","unit": "", // 单位"dataFormat": "percent" // 格式化},{"name": "y","alias": "成本","unit": "", // 单位"dataFormat": "" // 格式化}],"data": [{"date": "2013年","y": [598,293175,256095]},...{"date": "2017年","y": [19,16584,8950]}]}}
}
旭日图
API 示例:/openapi/demo/chart?type=sunburst
response:
{"status": 0,"msg": "",// data是一个数组,表示了一个树状结构"data": [{// 每个节点必须有name属性,其值为字符串"name": "Fruity",// 非叶子节点必须有children字段,其值为包含其子节点的数组,不需要有value字段"children": [{"name": "Berry","children": [{"name": "Blackberry",// 叶子节点必须有value字段,其值为数字"value": 1,},{"name": "Raspberry","value": 1,}]}]},{"name": "Sour/
Fermented","children": [{"name": "Sour","children": [{"name": "Sour Aromatics","value": 1,},{"name": "Acetic Acid","value": 1,}]}]},......]
}
矩形树图
API 示例:/openapi/demo/chart?type=treemap
response:
{"status": 0,"msg": "",// data是一个数组,表示了一个树状结构"data": [{// 每个节点必须有name属性,其值为字符串"name": "Fruity",// 非叶子节点必须有children字段,其值为包含其子节点的数组,不需要有value字段"children": [{"name": "Berry","children": [{"name": "Blackberry",// 叶子节点必须有value字段,其值为数字"value": 1,},{"name": "Raspberry","value": 1,}]}]},{"name": "Sour/Fermented","children": [{"name": "Sour","children": [{"name": "Sour Aromatics","value": 1,},{"name": "Acetic Acid","value": 1,}]}]},......]
}
气泡图
API 示例:/openapi/demo/chart?type=bubble
response:
{"status": 0, // 0表示成功,非0表示失败"msg": "", // 失败时的提示信息"data": [{"name": "热词1","value": 46,"cat": "cat1", // 气泡所属的类别,不同类别的气泡颜色不同,若不传,则用name作为气泡名称"url": "www.baidu.com" // 这个字段供超链接类型的下钻使用,在配置下钻时的「绑定超链接的数据字段」处填写url即可},{"name": "热词2","value": 32,"cat": "cat1","url": "www.baidu.com"},{"name": "热词3","value": 16,"cat": "cat2","url": "www.baidu.com"},{"name": "热词4","value": 15,"cat": "cat2","url": "www.baidu.com"},......]
}
拓扑图
API 示例:/openapi/demo/chart?type=topology
response:
{"status": 0,"msg": "","data": {"nodes": [ //表示各个节点{"id": "node1", //结点的id, 用于唯一标识1个节点,必传"title": "node1Title", //节点的标题,可不填,"data": [ //节点主体的数据,可用数组表示,数组每一项会分行。"hello","<button>world</button>"], //data数据也可不填,但title和data最好保留至少1个, 当然数据也可以写为html的内容"tooltip": "hi, 我是tooltip" //字符串格式的tooltip},{"id": "node2", //结点的id, 用于唯一标识1个节点,必传"title": "node2Title", //节点的标题,可不填"data": "hello, world", //data字段为字符串表示只占1行数据"fontColor": "#ff0000", //自定义的字体颜色,可不传"bgColor": "bgColor", //自定义的背景颜色,可不传"tooltip": ["hi", "我是tooltip"] //数组格式的tooltip},...],"links": [{"source": "node1", // 表示从id为`node1`的结点出发,必传"target": "node2", // 表示到id为`node2`的结点结束,必传"text": "15%", // 折线上的数据,可不传"tooltip": ["hi", "我是tooltip"] //数组格式的tooltip},{"source": "node1", // 表示从id为`node1`的结点出发,必传"target": "node3", // 表示到id为`node3`的结点结束,必传"text": "15%", // 折线上的数据,可不传"tooltip": "hi, 我是tooltip" //字符串格式的tooltip},...]}
}
河流图
API 示例:/openapi/demo/chart?type=river
response:
{"status": 0,"msg": "","data": {// legend 字段必填,代表一共有几个系列"legend": ["华为", "联想", "微星", "宏基", "戴尔", "惠普"],// data 字段是一个二维数组,每个子数组必须有三项:// 0:用于横轴的序列。以 - 或 / 分隔的日期,以 : 分隔的时间,符合前面格式要求的日期时间组合,数字// 1:数据的大小。数字或有效的数字字符串// 2:数据属于哪个系列,需要与 legend 中的字段对应"data": [["2015/11/08",10,"华为"],["2015/11/09",15,"华为"],["2015/11/10",35,"华为"],["2015/11/08",35,"联想"],["2015/11/09",36,"联想"],["2015/11/10",37,"联想"],["2015/11/08",21,"微星"],["2015/11/09",25,"微星"],["2015/11/10",27,"微星"],["2015/11/08",10,"宏基"],["2015/11/09",15,"宏基"],["2015/11/10",35,"宏基"],["2015/11/08",10,"戴尔"],["2015/11/09",15,"戴尔"],["2015/11/10",35,"戴尔"],["2015/11/08",10,"惠普"],["2015/11/09",15,"惠普"],["2015/11/10",35,"惠普"].....]}
}
日历热力图
API 示例:/openapi/demo/chart?type=calHmap
response:
{"status": 0,"msg": "","data": [// 每一项都是一个数组,代表某天的数据,数据可以不按日期顺序返回// 第一个元素是日期,格式要求yyyy-mm-dd// 第二个元素是取值,要求是数字或有效的数字字符串["2020-02-10", 186],["2020-02-10", 877],......]
}
Sugar BI支持免费试用,欢迎大家前来体验
相关文章:
可视化图表API格式要求有哪些?Sugar BI详细代码示例(2)
Sugar BI中的每个图表可以对应一个数据 API,用户浏览报表时,选定一定的过滤条件,点击「查询」按钮将会通过 API 拉取相应的数据;前面说过,为了确保用户数据的安全性,Sugar BI上的所有数据请求都在Sugar BI的…...

153. 寻找旋转排序数组中的最小值
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次࿰…...

Linux 文件描述符
Linux 文件描述符 Linux 中一切皆文件,比如 C 源文件、视频文件、Shell脚本、可执行文件等,就连键盘、显示器、鼠标等硬件设备也都是文件。 一个 Linux 进程可以打开成百上千个文件,为了表示和区分已经打开的文件,Linux 会给每个…...

第17章_反射机制
第17章_反射机制 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 1. 反射(Reflection)的概念 1.1 反射的出现背景 Java程序中,所有的对象都有两种类型:编…...
使用VBA小程序提高资产清查效率
资产清查是一件相当烦人的工作,去年使用LayUIPHPMS SQL Server 2014写了一个资产清查的程序,可惜写完了,LayUI已经停止更新了,就没有再完善下去,数据也没有更新,等于就废了。 今年又要进行资产清查…...

JavaSE学习进阶day07_02 异常
第三章 异常 3.1 异常概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是: 异常 :指的是程序在执行过程中,出现的非正常的情况࿰…...

操作系统学习笔记
文章目录 操作系统虚拟内存锁缓存机制CPU性能指标进程、线程文件管理系统 操作系统 操作系统是控制应用程序的执行,并充当应用程序和计算机硬件之间的接口。在计算机系统中,处于最外层的是(应用软件) 。 面向用户的就是外层的&am…...

【Spring Boot】SpringBoot设计了哪些可拓展的机制?
文章目录 前言SpringBoot核心源码拓展Initializer拓展监听器ApplicationListenerBeanFactory的后置处理器 & Bean的后置处理器AOP其他的拓展点 前言 当我们引入注册中心的依赖,比如nacos的时候,当我们启动springboot,这个服务就会根据配置…...

《程序员面试金典(第6版)》面试题 10.10. 数字流的秩
题目描述 假设你正在读取一串整数。每隔一段时间,你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。请实现数据结构和算法来支持这些操作,也就是说: 实现 track(int x) 方法,每读入一个数字都会调用该方法; 实现 g…...

智能洗地机好用吗?值得入手的洗地机推荐
洗地机是一款高效的地面清洁设备,不仅可以很好清理地面不同形态的干湿垃圾,还减少了人工和水资源的浪费,是我们日常生活中必不可少的清洁工具。作为以一位评测博主,很多朋友咨询我在选购洗地机时应该注意哪些要点,有哪…...

Spring Security实战(一)——基于内存和数据库模型的认证与授权
目录 简介 一、初识Spring Security(入门案例) (1)新建project (2)选择依赖 (3)编写一个 HelloController (4)启动项目,访问localhost:8080…...
轻松掌握FFmpeg编程:从架构到实践
轻松掌握FFmpeg编程:从架构到实践 (Master FFmpeg Programming with Ease: From Architecture to Practice 引言 (Introduction)FFmpeg简介与应用场景 (Brief Introduction and Application Scenarios of FFmpeg)为什么选择FFmpeg进行音视频处理 (Why Choose FFmpeg…...
桌面应用程序开发攻略(初步了解)
什么是桌面应用程序? 桌面应用开发是指为桌面计算机或其他类似设备(如服务器)开发软件应用程序的过程。桌面应用通常是独立于浏览器运行的,并且可以在操作系统的桌面或应用程序菜单中找到。桌面应用可以使用各种编程语言开发&…...

【李老师云计算】HBase+Zookeeper部署及Maven访问(HBase集群实验)
索引 前言1. Zookeeper1.1 主机下载Zookeeper安装包1.2 主机解压Zookeeper1.3 ★解决解压后文件缺失1.4 主机配置Zookeeper文件1.4.1 配置zoo_sample.cfg文件1.4.2 配置/data/myid文件 1.5 主机传输Zookeeper文件到从机1.6 从机修改Zookeeper文件1.6.1 修改zoo.cfg文件1.6.2 修…...

第11章_常用类和基础API
第11章_常用类和基础API 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 1. 字符串相关类之不可变字符序列:String 1.1 String的特性 java.lang.String 类代表字符串…...

Java语言数据类型与c语言数据类型的不同
目录 一、c语言数据类型 1.基本类型: 2.枚举类型: 3.空类型: 4.派生类型: 二、C语言编程需要注意的64位和32机器的区别 三、 不同之处 一、c语言数据类型 首先,先来整体介绍一下C语言的数据类型分类。 1.基…...
C# Replace()、Trim()、Split()、Substring()、IndexOf() 、 LastIndexOf()函数
目录 一、Replace() 二、Trim() 三、Split() 四、Substring() 五、IndexOf() 六、LastIndexOf() 一、Replace() 在C#中,Replace()是一个字符串方法,用于将指定的字符或子字符串替换为另一个字符或字符串。下面是一些Replace()方法的常见用法和示例…...

C++类的理解与类型名,类的成员,两种定义方式,类的访问限定符,成员访问,作用域与实例化对象
面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题 C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成 面向…...
【华为OD机试真题 C++】1051 - 处理器问题 | 机试题+算法思路+考点+代码解析
文章目录 一、题目🔸题目描述🔸输入输出🔸样例1🔸样例2 二、题目解析三、代码参考 作者:KJ.JK 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &…...
Linux 常用操作命令大全
一、基础知识 1.1 Linux系统的文件结构 /bin 二进制文件,系统常规命令 /boot 系统启动分区,系统启动时读取的文件 /dev 设备文件 /etc 大多数配置文件 /home 普通用户的家目录 /lib 32位函数库 /lib64 64位库 /media 手动临时挂载点 /mnt 手动临时挂载点…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...