Charts & canvas

RGBA color


let stopFlag = 0; // show Charts
const showCharts = (name = "") => {
let ctxCPU = document.querySelector(`#cpuChart`).getContext("2d"),
ctxMemory = document.querySelector(`#memoryChart`).getContext("2d");
// Global point options
Chart.defaults.global.elements.point.pointStyle = "circle";
Chart.defaults.global.elements.point.radius = 0;
// init data
// let cpuData = [0.3],
// memoryData = [99.5],
let cpuData = [null],
memoryData = [null],
labels = [" "];
cpuData = repeatArray(cpuData, 60);
memoryData = repeatArray(memoryData, 60);
labels = repeatArray(labels, 60);
let cpuChart = new Chart(ctxCPU, {
// type: "bar ",
type: "line",
data: {
labels: labels,
datasets: [
{
label: "CPU 使用记录",
data: cpuData,
backgroundColor: [
"rgba(241, 246, 250, 0.8)",
],
borderColor: [
"rgba(83, 161, 206, 1)",
],
borderWidth: 1,
fill: "start",
}
]
},
options: {
scales: {
yAxes: [{
ticks: {
// suggestedMax: 1,
suggestedMin: 0.1,
// beginAtZero: true,
callback: function(tick) {
return tick.toString() + "%";
},
}
}]
},
elements: {
line: {
tension: 0,
// no smooth
}
}
}
});
let memoryChart = new Chart(ctxMemory, {
// type: "bar ",
type: "line",
data: {
labels: labels,
datasets: [
{
label: "Memory 使用记录",
data: memoryData,
backgroundColor: [
"rgba(244, 242, 244, 0.8)",
],
borderColor: [
"rgba(164, 73, 190, 1)",// RGBA
// "rgba(0, 127, 53, 1)",// green
// "rgba(149, 40, 180, 1)",
],
borderWidth: 1,
fill: "start",
}
]
},
options: {
scales: {
yAxes: [{
ticks: {
// min: 99,
// max: 100,
// stepSize: 0.000001,
// beginAtZero: false,
// suggestedMax: 100,
callback: function(tick) {
return tick.toString() + "%";
},
}
}]
},
elements: {
line: {
tension: 0,
// no smooth
}
}
}
});
// update
let swalFlag = true;
// console.log(`old stopFlag =`, stopFlag);
stopFlag = setInterval(() => {
showDetails(name).then((json) => {
if (json.success) {
let {
osName,
date,
// totalMemory,
// freeMemory,
cpuRatio,
memoryRatio
} = json.data;
let tds = [...document.querySelectorAll(`[data-info="server"]`)];
for (let i = 0; i < tds.length; i++) {
tds[i].innerHTML = "";
let value = "暂无数据";
switch (i) {
case 0:
value = osName;
break;
case 1:
value = date;
break;
default:
break;
}
tds[i].innerHTML = value;
}
let cpu = cpuRatio,
memory = memoryRatio;
if (cpuData.length > 59) {
cpuData.push(cpu);
let newData = cpu,
oldData = [];
oldData = cpuData.slice(cpuData.length - 59, cpuData.length);
oldData.push(newData);
cpuData = oldData;
// console.log(`cpuData =\n`, cpuData);
cpuChart.data.datasets[0].data = cpuData;
// Preventing Animations
cpuChart.update(0);
} else {
cpuData.push(cpu);
cpuChart.data.datasets[0].data = cpuData;
cpuChart.update(0);
}
if (memoryData.length > 59) {
memoryData.push(memory);
let newData = memory,
oldData = [];
oldData = memoryData.slice(memoryData.length - 59, memoryData.length);
oldData.push(newData);
memoryData = oldData;
memoryChart.data.datasets[0].data = memoryData;
memoryChart.update(0);
} else {
memoryData.push(memory);
memoryChart.data.datasets[0].data = memoryData;
memoryChart.update(0);
}
} else {
if (swalFlag) {
swal({
title: "查看详情失败!",
text: `${json.message !== null ? json.message : "3 秒后自动关闭!"}`,
icon: "error",
// button: "关闭",
buttons: false,
timer: 3000,
});
swalFlag = false;
}
// clear
window.clearInterval(stopFlag);
}
});
}, 1000);
// console.log(`new stopFlag =`, stopFlag);
};

Charts & canvas & RGBA的更多相关文章

  1. Matplotlib数据可视化(7):图片展示与保存

    In [1]: import os import matplotlib.image as mpimg from PIL import Image import matplotlib.pyplot as ...

  2. Bring Your Charts to Life with HTML5 Canvas and JavaScript

    Bring Your Charts to Life with HTML5 Canvas and JavaScript Bring Your Charts to Life with HTML5 Canv ...

  3. Safari HTML5 Canvas Guide: Creating Charts and Graphs

    Safari HTML5 Canvas Guide: Creating Charts and Graphs Bar graphs are similar to data plots, but each ...

  4. 时隔两个月再写的Echarts(Enterprise Charts,商业级数据图表)一文

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...

  5. 提高HTML5 canvas性能的几种方法

    简介 HTML5 canvas 最初起源于苹果(Apple)的一项实验,现在已经成为了web中受到广泛支持的2D快速模式绘图(2Dimmediate mode graphic)的标准.许多开发者现在利 ...

  6. canvas图表详解系列(1):柱状图

    本章建议学习时间4小时 学习方式:详细阅读,并手动实现相关代码(如果没有canvas基础,需要先学习前面的canvas基础笔记) 学习目标:此教程将教会大家如何使用canvas绘制各种图表,详细分解步 ...

  7. canvas图表详解系列(2):折线图

    本章建议学习时间4小时 学习方式:详细阅读,并手动实现相关代码(如果没有canvas基础,需要先学习前面的canvas基础笔记) 学习目标:此教程将教会大家如何使用canvas绘制各种图表,详细分解步 ...

  8. canvas图表详解系列(3):动态饼状图(原生Js仿echarts饼状图)

    本章建议学习时间4小时 学习方式:详细阅读,并手动实现相关代码(如果没有canvas基础,需要先学习前面的canvas基础笔记) 学习目标:此教程将教会大家如何使用canvas绘制各种图表,详细分解步 ...

  9. canvas图表详解系列(4):动态散点图

    本章建议学习时间4小时 学习方式:详细阅读,并手动实现相关代码(如果没有canvas基础,需要先学习前面的canvas基础笔记) 学习目标:此教程将教会大家如何使用canvas绘制各种图表,详细分解步 ...

随机推荐

  1. 一篇SSM框架整合友好的文章(一)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/53730333 本文出自方志朋的博客 最近实在太忙,之前写的<rxjava系列文章&g ...

  2. mysql 数据库设计规范

    MySQL数据库设计规范 目录 1. 规范背景与目的 2. 设计规范 2.1 数据库设计 2.1.1 库名 2.1.2 表结构 2.1.3 列数据类型优化 2.1.4 索引设计 2.1.5 分库分表. ...

  3. eclipse引入jquery文件报错解决

    以下内容是小编给大家带来的关于Eclipse引入jquery报错如何解决的全部叙述,具体内容如下所示: 第一步: 去除eclipse的JS验证: 将windows->preference-> ...

  4. Linux CentOS 7的图形界面安装

    1.首先安装X(X Window System) yum groupinstall "X Window System" 2.由于这个软件组比较大,安装过程会比较慢,安装完成后会出现 ...

  5. Laravel系列之CMS系统学习 — 角色、权限配置【1】

    一.后台Admin模块 后台管理是有管理员的,甚至超级管理员,所以在设计数据表的时候,就会有2个方案,一个方案是共用users数据表,添加is_admin,is_superAdmin字段来进行验证,或 ...

  6. js三目运算符执行多个条件

    三元运算符的结果语句可以执行多个操作,每个操作用逗号分隔就可以,例子如下: var a=1: a>5?(alert(1),alert(2)):(alert(3),alert(4))

  7. HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。

    第一种:无法序列化 DataTable.未设置 DataTable 名称. 第二种: 排除过程如下: 1.用WCF调试状态下的客户端调用ESB的Publish方法调用成功,证明ESB的推送是没有问题的 ...

  8. spring源码学习中的知识点

    一.循环依赖 循环依赖就是循环引用,就是两个或多个bean之间互相持有对方. 1.构造器循环依赖 表示通过构造器注入造成的循环依赖,此依赖是无法解决的,只能抛出BeanCurrentlyInCreat ...

  9. TouTiao开源项目 分析笔记11 以总体到局部的思路 构建图片主列表

    1.构建图片主列表的整体片段PhotoTabLayout 1.1.首先创建一个PhotoTabLayout片段 public class PhotoTabLayout extends Fragment ...

  10. [记读书笔]python3.5实现socket通讯(UDP)

    UDP连接: 无连接,从一个端向另一端发送独立的数据分组 使用UDP连接的客户-服务器程序: UDPServer.py import socket serverPort = 50009 serverS ...