当前位置: 首页 > news >正文

使用grafana v11 建立k线(蜡烛图)仪表板

先看实现的结果

沪铜主力合约 2025-02-12 的1分钟k线图

功能介绍: 左上角支持切换主力合约,日期,实现动态加载数据.

项目背景: 我想通过前端展示期货指定品种某1天的1分钟k线,类似tqsdk 的web_gui

生成图形化界面— TianQin Python SDK 3.7.8 文档

项目架构:

后端: fastapi

期货行情数据: tqsdk 获取k线序列数据 — TianQin Python SDK 3.7.8 文档

前端: Grafana v11.5.0, 需要的插件: Business Charts(支持ECharts的插件),infinity(请求api后端的接口)

Business Charts插件需求如下:

Requirements

  • The Business Charts panel 6.X requires Grafana 10 or Grafana 11.
  • Apache ECharts panel 5.X requires Grafana 9 or Grafana 10.
  • Apache ECharts panel 3.X and 4.X require Grafana 8.5 or Grafana 9.

部分细节介绍:

1. 变量设置:

点击Dashboard仪表板右上角的Settings

 

然后设置以下2个变量,

这里我用的是SQL语句查询出变量,需要添加一个数据库源,这里省略添加数据库源的步骤.也可以通过请求API接口实现.

引用变量时在名称前添加 $,如: $end_date

其中 main_continue的配置如下:主要就是设置 变量名称,以及对应SQL语句.

2. 指定品种的k线数据是通过tqsdk 以下接口获取的,官方连接在这里:获取k线序列数据 — TianQin Python SDK 3.7.8 文档

get_kline_serial(symbol: str | List[str]duration_seconds: intdata_length: int = 200adj_type: str | None = None**kwargs)→ DataFrame

3. infinity-datasource 数据源配置

假设GET请求

/kline/?main_continue=KQ.m%40SHFE.au&end_date=2025-02-11

接口返回的数据格式如下:

{"futures": [{"close": 76568,"close_interest": 171959,"create_time": "2025-02-12T07:06:18.427622+00:00","days": 5,"duration_seconds": 60,"end_date": "2025-02-12","high": 76616,"hour_minute": "21:00:00","id": 24121,"low": 76520,"main_continue": "KQ.m@SHFE.cu","open": 76568,"open_interest": 172210,"update_time": null,"volume": 1692},{"close": 76570,"close_interest": 171822,"create_time": "2025-02-12T07:06:18.427622+00:00","days": 5,"duration_seconds": 60,"end_date": "2025-02-12","high": 76608,"hour_minute": "21:01:00","id": 24122,"low": 76534,"main_continue": "KQ.m@SHFE.cu","open": 76568,"open_interest": 171959,"update_time": null,"volume": 800},]
}

则需要参照如下配置infinity请求;

4. 可视化配置选择: Business Charts

Editor Mode 选择 Code

然后在Code 中粘贴下方的代码内容:

const upColor = '#ec0000';
const upBorderColor = '#8A0000';
const downColor = '#00da3c';
const downBorderColor = '#008F28';context.panel.data.series.map((s) => {categories = s.fields.find((f) => f.name === 'hour_minute').values;open = s.fields.find((f) => f.name === 'open').values;close = s.fields.find((f) => f.name === 'close').values;low = s.fields.find((f) => f.name === 'low').values;high = s.fields.find((f) => f.name === 'high').values;
});let values = open.map((item, index) => [item, close[index], low[index], high[index],]);let data0 = { categoryData: categories, values: values }return {tooltip: {trigger: 'axis',axisPointer: {type: 'cross'}},legend: {data: ['1分钟K线']},grid: {left: '10%',right: '10%',bottom: '15%'},xAxis: {type: 'category',data: data0.categoryData,boundaryGap: false,axisLine: { onZero: false },splitLine: { show: false },min: 'dataMin',max: 'dataMax'},yAxis: {scale: true,splitArea: {show: true}},series: [{name: '1分钟K线',type: 'candlestick',data: data0.values,itemStyle: {color: upColor,color0: downColor,borderColor: upBorderColor,borderColor0: downBorderColor},}]
}

Code中的代码:重点就是通过

context.panel.data.series.map

获取到 infinity GET 请求并处理后的数据

完结撒花,以上就是通过 fastapi,grafana 实现的可视化k线(蜡烛图)功能.

相关文章:

使用grafana v11 建立k线(蜡烛图)仪表板

先看实现的结果 沪铜主力合约 2025-02-12 的1分钟k线图 功能介绍: 左上角支持切换主力合约,日期,实现动态加载数据. 项目背景: 我想通过前端展示期货指定品种某1天的1分钟k线,类似tqsdk 的web_gui 生成图形化界面— TianQin Python SDK 3.7.8 文档 项目架构: 后端: fastap…...

ubuntu 安装 Redis

一、下载 Redis 压缩包,wget http://download.redis.io/releases/redis-5.0.14.tar.gz 也可以去官网下载别的版本 https://redis.io 二、解压文件,tar -zxvf redis-5.0.14.tar.gz 三、编译安装(使用压缩包的方式需要编译安装)&…...

利用docker-compose一键创建并启动所有容器

简介 在开发复杂的分布式应用时,通常需要同时运行多个服务(如数据库、缓存、Web 应用等)。Docker Compose 提供了一种简便的方式来定义和运行多容器 Docker 应用程序。通过一个 docker-compose.yml 文件,您可以配置应用程序的服务…...

mysql开启gtid并配置主从

默认主从都开启了bin log. 1.主从都在/etc/my.cnf中加入并重启服务 gtid_mode ON enforce_gtid_consistency ON 2.在主库创建用户并授权 create user slave identified with mysql_native_password by 123456 mysql>GRANT REPLICATION SLAVE ON *.* to slave% identified…...

redis sentinel模式 与 redis 分片集群 配置

Redis 最低为5.0版本,以下为6.2.6版本信息。 模式 高可用性 数据分片 部署复杂度 适用场景 Sentinel 模式 高 无 中等 中小规模,需要高可用性 集群模式 高 支持 复杂 大规模,需要高…...

2025最新在GitHub上搭建个人图床,保姆级图文教程,实现图片高效管理

文章目录 🌍一. 图床❄️1.什么是图床❄️2.图床能解决什么问题? 🌍二. 在github上面创建图床🌍三. PicGo❄️1. PicGo介绍❄️ 2. 下载与安装❄️3. 配置图床 ❄️3.错误解决问题1问题2问题3问题4 🌍 四. Typora❄️…...

Web后端 - Maven管理工具

一 Maven简单介绍 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 Maven的作用 二 Maven 安装配置 依赖配置 依赖传递 依赖范围 生命周期 注意事项:在同一套生命周期中,当运行后面的阶段时,前面的阶段都…...

【python语言应用】最新全流程Python编程、机器学习与深度学习实践技术应用(帮助你快速了解和入门 Python)

近年来,人工智能领域的飞速发展极大地改变了各个行业的面貌。当前最新的技术动态,如大型语言模型和深度学习技术的发展,展示了深度学习和机器学习技术的强大潜力,成为推动创新和提升竞争力的关键。特别是PyTorch,凭借其…...

《探秘Windows 11驱动开发:从入门到实战》

《探秘Windows 11驱动开发:从入门到实战》 驱动开发初印象 在 Windows 11 这个充满活力与创新的操作系统世界里,驱动程序犹如幕后英雄,默默发挥着无可替代的关键作用。它是连接操作系统与硬件设备的桥梁,操作系统下达的指令,如播放音乐、读取硬盘数据等,都需要通过驱动…...

搭建Deepseek推理服务

概述: 本文介绍用Open webui ollama搭建一套Deepseek推理服务,可以在web页面上直接进行对话。作为体验搭建的是Deepseek 7b参数版本 首先选择一个云厂商创建一台ubuntu系统的虚拟机,带公网IP,通过shell登录虚拟机完成以下操作&…...

Golang GC 三色标记法

三色标记法 Golang GC 会使用三种颜色会对象进行标记。分别为白色、灰色和黑色。白色表示尚未被标记的对象、灰色表示已经追踪但还没标记的对象,黑色表示已经完成标记的对象。黑色表示活跃对象,不会被回收。 以下图所示,演示三色标记法的过…...

重新出发的LLM本地部署——DeepSeek加持下的Ollama+OpenWebUI快速部署

DeepSeek 这真的是太惊艳了,发布出来的模型这么能打,在线的版本使用起来也是丝滑连招,感觉效果比起之前一直用智谱 chatglm4 更好用,想着本地化部署一下。 本来以为,会和之前在开发测试 transformers 的模型和代码一样…...

【第3章:卷积神经网络(CNN)——3.5 CIFAR-10图像分类】

嘿,小伙伴们,今天咱们来聊聊一个超级酷炫的话题——卷积神经网络(CNN)及其在CIFAR-10图像分类中的应用。这不仅仅是一个技术话题,更是一场探索人工智能奥秘的旅程。准备好了吗?咱们这就发车! 一、CNN:人工智能的“千里眼” 首先,咱们得知道CNN是啥。CNN,全名Convol…...

Django后台新建管理员

在 Django 中,新建管理员用户通常涉及使用 Django 自带的命令行工具 manage.py。以下是具体步骤: 前提条件 Django 项目已创建:确保你已经创建了一个 Django 项目和应用。数据库已迁移:确保你已经运行了 python manage.py migra…...

【第12章:深度学习与伦理、隐私—12.2 数据隐私保护与差分隐私技术的实现与应用】

凌晨三点的数据中心,安全工程师老张盯着监控屏幕——某个医疗AI模型的训练日志显示,系统在保护隐私的同时竟然准确预测了罕见病的发病规律。这种看似魔法的技术背后,是一场持续了十五年的隐私保卫战。让我们掀开差分隐私的神秘面纱,看看这场革命如何重塑数据世界的游戏规则…...

索引----数据库

本博客全是来自于黑马程序员的mysql专题,我写的笔记 索引 是帮助Mysql高效获取数据的数据结构(有序) 数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,…...

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十七节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析(InputOutputControl_0x2F服务) 作者:车端域控测试工程师 更新日期:2025年02月14日 关键词:UDS协议、0x2F服务、输入输出控制、ISO 14229-1:2023、ECU测试 一、服务功能概…...

nodejs:express + js-mdict 网页查询英汉词典,能显示图片

向 DeepSeek R1 提问: 我想写一个Web 前端网页,后台用 nodejs js-mdict , 实现在线查询英语单词,并能显示图片 1. 项目结构 首先,创建一个项目目录,结构如下: mydict-app/ ├── public/ │ ├── …...

matlab汽车动力学半车垂向振动模型

1、内容简介 matlab141-半车垂向振动模型 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

2025.2.16

Web [GDOUCTF 2023]泄露的伪装: 点进去看就是装神弄鬼,那就直接扫描 果然有东西 第一个是php代码 第二个是个文件 访问发现是一样的 分析一下:使用 file_get_contents($cxk) 函数读取 $cxk 变量中指定的 URL 或文件的内容。 如果读取的内…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...