帆软报表用js自定义在折线图折线95%处的位置显示样本点
时间: 2024-03-26 22:42:12 浏览: 18
您可以使用以下JS代码来在折线图折线的95%处显示样本点:
```javascript
// 获取折线图对象
var chart = frappe.ui.get_chart(chart_name);
// 获取折线图数据
var data = chart.data.datasets[0].data;
// 计算折线的95%值
var max_value = Math.max.apply(null, data);
var min_value = Math.min.apply(null, data);
var threshold = (max_value - min_value) * 0.95 + min_value;
// 获取折线图画布对象
var canvas = chart.canvas;
// 获取折线图上下文对象
var ctx = canvas.getContext('2d');
// 遍历折线图数据,找到第一个超过95%值的点
for (var i = 0; i < data.length; i++) {
if (data[i] >= threshold) {
// 绘制样本点
ctx.beginPath();
ctx.arc(chart.scales['x-axis-0'].getPixelForValue(i), chart.scales['y-axis-0'].getPixelForValue(data[i]), 5, 0, 2 * Math.PI, false);
ctx.fillStyle = '#FF0000';
ctx.fill();
break;
}
}
```
您需要将上述代码放在报表的JS自定义脚本中,并将`chart_name`替换为您的折线图名称。这会在折线图的95%处显示一个红色的样本点。