Chart.js — drawing an arbitrary vertical line(Chart.js — 绘制任意垂直线)
问题描述
如何使用 Chart.js 在 x 轴上的特定点绘制垂直线?
How can I draw an vertical line at a particular point on the x-axis using Chart.js?
特别是,我想在 LineChart 上画一条线来表示当天.这是图表的模型:
In particular, I want to draw a line to indicate the current day on a LineChart. Here's a mockup of the chart: http://i.stack.imgur.com/VQDWR.png
推荐答案
更新 - 此答案适用于 Chart.js 1.x,如果您正在寻找 2.x 答案,请查看评论和其他答案.
您扩展折线图并在绘图函数中包含用于绘制线条的逻辑.
Update - this answer is for Chart.js 1.x, if you are looking for a 2.x answer check the comments and other answers.
预览
HTML
HTML
<div>
<canvas id="LineWithLine" width="600" height="400"></canvas>
</div>
脚本
var data = {
labels: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
datasets: [{
data: [12, 3, 2, 1, 8, 8, 2, 2, 3, 5, 7, 1]
}]
};
var ctx = document.getElementById("LineWithLine").getContext("2d");
Chart.types.Line.extend({
name: "LineWithLine",
draw: function () {
Chart.types.Line.prototype.draw.apply(this, arguments);
var point = this.datasets[0].points[this.options.lineAtIndex]
var scale = this.scale
// draw line
this.chart.ctx.beginPath();
this.chart.ctx.moveTo(point.x, scale.startPoint + 24);
this.chart.ctx.strokeStyle = '#ff0000';
this.chart.ctx.lineTo(point.x, scale.endPoint);
this.chart.ctx.stroke();
// write TODAY
this.chart.ctx.textAlign = 'center';
this.chart.ctx.fillText("TODAY", point.x, scale.startPoint + 12);
}
});
new Chart(ctx).LineWithLine(data, {
datasetFill : false,
lineAtIndex: 2
});
选项属性 lineAtIndex 控制在哪个点画线.
The option property lineAtIndex controls which point to draw the line at.
小提琴 - http://jsfiddle.net/dbyze2ga/14/
这篇关于Chart.js — 绘制任意垂直线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Chart.js — 绘制任意垂直线


- 400或500级别的HTTP响应 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Flexslider 箭头未正确显示 2022-01-01