javascript - 如何在 Chart.js 中正确显示大量信息而不会过于拥挤
问题描述
我正在尝试显示变得非常大的实时数据。问题是线条看起来很局促......我不希望所有数据点都在现场,我可以在这里和那里失去一点准确性......
那么,有没有办法可以清理图表中的线条?最好不要删除数据中的起始元素。
**这里是代码:**
var ctx = document.getElementById("myChart").getContext("2d");
var myChart = new Chart(ctx, {
type: "line",
data: {
labels: [new Date()],
datasets: [
{
label: "# of Votes",
data: [Math.random()],
borderWidth: 4,
},
],
},
options: {
elements: {
line: {
backgroundColor: "#22ff2252",
borderColor: "#00de00",
fill: true,
borderWidth: 10,
tension: 0.05,
},
point: {
radius: 0,
borderWidth: 0,
pointStyle: "triangle",
},
},
scales: {
y: {
beginAtZero: false,
},
xAxis: {
type: "time",
ticks: {
source: "auto",
autoSkip: true,
maxTicksLimit: 10,
maxRotation: 0,
minRotation: 0,
},
time: {
unit: "second",
},
},
},
},
});
setInterval(() => {
colors = ["#00de00", "#de0000"];
myChart.options.elements.line.borderColor =
colors[Math.floor(Math.random() * colors.length)];
myChart.data.datasets[0].data.push(Math.random());
var today = new Date();
var time =
today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
myChart.data.labels.push(new Date());
myChart.update();
}, 2500);
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.3.2/dist/chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/moment@2.27.0"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-moment@0.1.1"></script>
<div style="height: 90%; width: 90%">
<canvas id="myChart"></canvas>
</div>
解决方案
推荐阅读
- python - 你如何用字符串列表作为值来洗牌字典,这样没有键是相邻的?
- php - 无法通过 PHP 设置 MS SQL 服务器访问
- google-calendar-api - 谷歌日历在托管服务器上失败,但在本地主机上工作
- azure-web-app-service - 如何从容器访问 Azure Web App 证书
- reactjs - 警告:道具 `data-rbd-draggable-id` 不匹配。服务器:“苹果”客户端:“香蕉”
- xpath - XPath 选择第 n 个直到最后一个孩子?
- r - 使用 dplyr 按组创建行内容的摘要字符串
- python - Pytorch 计算效率为零
- jena - 为什么 Jena 4 中没有 Jena-iri 模块 javadoc?
- arrays - 基于复选框和随机输出过滤长字符串数组