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

echarts制作grafana 面板之折线图

最近有需求需要制作grafana 来实现自己的需求,于是开始研究

实现效果如下

实现代码

import * as echarts from 'echarts';var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom, 'dark');
var option;function getLast30Days() {let dates = [];let today = new Date();for (let i = 0; i < 30; i++) {let date = new Date();date.setDate(today.getDate() - i);let month = date.getMonth() + 1; // 月份是从0开始的,所以需要加1let day = date.getDate();dates.push(`${month}/${day}`);}return dates.reverse(); // 反转数组以使日期从过去到现在排列
}
option = {title: {text: '脏数据展示面板',subtext: '这是副标题',sublink: 'https://github.com/ecomfe/echarts-stat',left: 'center'},backgroundColor: '#181b1f',tooltip: {trigger: 'axis',backgroundColor: '#181b1f',borderWidth: 0,padding: 0,textStyle: {color: 'rgba(255,255,255,0.7)'},formatter: function (params) {// 自定义符号样式,可以使用 HTML 标签来实现var content = `<div style="border:1px solid rgba(255,255,255,0.2);border-radius:4px"><div style="padding: 3px 8px;border-bottom:1px solid rgba(255,255,255,0.2)">${params[0].axisValue}</div><div style="padding:3px 8px;display:flex;align-items:center"><span style="display:inline-block;width:15px;height:4px; margin-right:5px;background-color:#73bf69;border-radius:4px"></span><span>${params[0].seriesName}</span><span style="margin-left:20px">${params[0].value}</span></div></div>`;return content;},axisPointer: {type: 'cross',lineStyle: {opacity: 0.5},crossStyle: {opacity: 0.5},label: {show: false}}},legend: {show: true,itemHeight: 4,itemWidth: 15,icon: 'rect',data: ['脏数据'],bottom: 'bottom'},xAxis: {type: 'category',boundaryGap: false, //设置从坐标轴开始显示axisLine: {show: false},axisTick: {show: false},splitLine: {show: true},data: getLast30Days(),minorSplitLine: {show: true}},yAxis: {type: 'value',splitLine: {show: true,lineStyle: {join: 'miterLimit',miterLimit: 10}},//次分割线minorSplitLine: {show: false,lineStyle: {color: '#ffffff',opacity: 1}}},//显示渐变线条//   visualMap: [//   {//     show: false,//     type: 'continuous',//     seriesIndex: 0,//     min: 0,//     max: 60,//     inRange: {//           color: ['#73bf69', 'rgba(115,191,105,.4)', '#73bf69'],//           symbolSize: [50, 20]//       }//   },// ],series: [{data: [10, 20, 24, 18, 28, 30, 20, 28, 30, 24, 20, 16, 27, 20, 10, 20, 24, 18,28, 30, 20, 28, 30, 24, 20, 16, 27, 20, 20, 28],name: '脏数据',type: 'line',smooth: false, //设置平滑曲线showSymbol: false, //设置是否显示折现顶点的图标lineStyle: {color: '#73bf69',width: 1},itemStyle: {color: '#73bf69'},areaStyle: {color: '#73bf69',opacity: 0.1} //填充背景}]
};option && myChart.setOption(option);

http://www.lryc.cn/news/415788.html

相关文章:

  • 技术男的审美反击:UI配置化新纪元
  • 73.结构体指针参数传递
  • 面向对象编程与Scala:掌握核心概念与应用
  • 《Advanced RAG》-07-探索 RAG 中表格数据的处理方案
  • Dubbo源码深度解析(二)
  • RocketMQ 的高可用性:主从复制与多副本保证
  • Linux系统驱动(四)自动创建设备节点
  • Webpack、Vite区别知多少?
  • 《剑指编程之巅:大学新生,以诗心驭代码》
  • 【八股文】网络基础
  • Nginx进阶-常见配置(一)
  • 九/十:C语言-扫雷游戏实现与函数递归
  • 【Android Studio】gradle文件、配置、版本下载、国内源(gradle版本以及gradle-plugin版本)
  • 主要的软件设计模式及其在Kotlin中的实现示例
  • FFmpeg音频重采样基本流程
  • 无人机无人车固态锂电池技术详解
  • ElementUI元件库在Axure中使用
  • 联想M7615DNA打印机复印证件太黑的解决方法及个人建议
  • 【算法题】无重复字符的最长子串(滑动窗口)
  • Hikari连接池 最大连接数与最小空闲连接数配置多少合适?
  • 【2.4 python中的基本输入和输出】
  • netty长连接集群方案
  • Python面试题:结合Python技术,如何使用Keras进行神经网络建模
  • dll文件丢失怎么恢复?超简单的5个方法,1分钟搞定dll文件修复!
  • [Meachines] [Easy] Sense PFSense防火墙RCE
  • codetop标签双指针题目大全解析(C++解法),双指针刷穿地心!!!
  • Floyd求最短路
  • python爬虫初识
  • Java中类的构造
  • 【C++高阶】深入理解C++异常处理机制:从try到catch的全面解析