chart.js - 如何限制chart.js中显示的点数?
问题描述
我的图表中 x 轴上的点太多。我想将显示点的最大值限制为 100。但同时仍显示相同的图表。完全相同的图表 - 但点数更少。
我不知道如何在服务器端的 PHP 中做到这一点,所以我想在 chart.js 的客户端是否有任何解决方案?
解决方案
对于大型数据集,chart.js
确实提供了一个数据抽取插件,可在图表生命周期开始时自动抽取数据,从而减少绘制的数据点数量。根据chart.js
文档,要使用抽取插件,必须满足以下要求:
- 数据集必须有一个数据
indexAxis
集'x'
必须是一行 - 数据集的 X 轴必须是 a
'linear'
或'time'
type 轴 - 数据必须不需要解析,即
parsing
必须是false
- 数据集对象必须是可变的。该插件存储原始数据
- as
dataset._data
然后data
在数据集上定义一个新属性。
您的图表选项应如下所示:
options: {
parsing: false,
plugins: {
decimation: {
enabled: false,
algorithm: 'min-max',
},
},
scales: {
x: {
type: 'time',
ticks: {
source: 'auto',
autoSkip: true,
}
}
}
还请记住,如果您禁用解析您传递的数据应该是您选择的图表类型的正确格式,因此在这种情况下是纪元时间戳。更多信息在这里。
最后,您可以在此处找到一个工作示例。
推荐阅读
- javascript - javascript 购物车电子邮件结帐
- r - ggplot2中带有图例的颜色编码PMF
- ada - 如何在 Ada 中对以二维数组类型作为参数的函数执行算术合约操作
- c# - 为什么我的数组中只有 1 个数字而不是 100?
- python - 如果你想输入一个 list() 但 python 认为它是一个函数,会发生什么?
- angular - 在 Angular 应用程序中显示 Spring Boot 异常
- rabbitmq - 如何成功为生产者和消费者设置路由密钥
- clojure - 如何创建一个规范,其中所有键都是可选的,但至少应该存在一个指定的键?
- c++ - Visual Studio 2017 允许在构造函数中使用自身初始化引用成员。它真的是合法的 C++ 吗?
- asp.net-core - Ocelot 可以拥有自己的控制器/动作吗?