使用Chart.js 2.4.0绘制三次贝塞尔曲线
我使用Chart.js,我需要渲染一个由四个数据点组成的图。我确实知道所有四个点的坐标,但我想知道,在贝塞尔曲线的上下文中,如何通过将P2和P3视为“控制点”来告诉我的图表,它应该连接P1和P4 更新: 同时,我还对具有该描述的line对象的属性使用Chart.js 2.4.0绘制三次贝塞尔曲线,chart.js,bezier,Chart.js,Bezier,我使用Chart.js,我需要渲染一个由四个数据点组成的图。我确实知道所有四个点的坐标,但我想知道,在贝塞尔曲线的上下文中,如何通过将P2和P3视为“控制点”来告诉我的图表,它应该连接P1和P4 更新: 同时,我还对具有该描述的line对象的属性capBezierPoints进行了深入研究: 如果为true,则贝塞尔控制点保留在图表中。如果为false,则不执行任何限制。 关于该属性的文档很少,因此我只能假设如果将其设置为false,则不会绘制控制点(在我的示例中,我有两个控制点,一个起点和一个
capBezierPoints
进行了深入研究:
如果为true,则贝塞尔控制点保留在图表中。如果为false,则不执行任何限制。
关于该属性的文档很少,因此我只能假设如果将其设置为false,则不会绘制控制点(在我的示例中,我有两个控制点,一个起点和一个终点)。但是,我不知道如何告诉Chart.js我的哪些点是控制点
最近,我确实将四个点传递到我的数据集,如下所示:
var data = {
datasets: [
{
label: "start point",
data: [
{
x: bezierCurve.getPoint(0).x,
y: bezierCurve.getPoint(0).y
},
{
x: bezierCurve.getPoint(1).x,
y: bezierCurve.getPoint(1).y
},
{
x: bezierCurve.getPoint(2).x,
y: bezierCurve.getPoint(2).y
},
{
x: bezierCurve.getPoint(3).x,
y: bezierCurve.getPoint(3).y
}
],
fill: false,
lineTension: 1,
borderColor: "blue"
}
]
}
var options = {
responsive: true,
scales: {
xAxes: [{
type: 'linear',
position: 'bottom',
ticks: {
beginAtZero: true,
max: Math.round(maxX * 1.1)
}
}],
yAxes: [{
display: true,
ticks: {
beginAtZero: true,
max: Math.round(maxY * 2)
}
}]
},
legend: {
display: false
}
}
Chart.defaults.global.tooltips.enabled = false;
Chart.defaults.global.elements.line.capBezierPoints = false;
Chart.defaults.global.elements.line.tension = 1.0;
this.displayedBezierCurveChart = new Chart(context, {
type: 'line',
data: data,
options: options
});
使用该实现,将绘制一条连接所有四个点的线。
我需要的是一条连接起点和终点的线,考虑到中间的两个控制点
有什么想法吗?这不是chart.js API文档所解释的吗?如果没有,这绝对是一件需要向Chart.js人员报告的事情,这样他们就可以将信息添加到文档中,这样不仅您,而且您之后的每个人都可以轻松找到这些信息。如果你只是在这里问一下,那是不会发生的。我通读了这篇文章,发现了贝塞尔曲线的一些方面,但是这篇文档没有指出如何将我的控制点传递给图表。因此,我看不到有人提到我的具体问题。同意值得向Chart.js人员报告,但他们在Github页面上写道stackoverflow是主要的支持渠道。那么,你知道如何联系他们吗?提出一个问题,解释可能需要添加到文档中的信息,在给出足够完整的描述之后,还可以链接到这个问题,并注意,虽然这应该是他们的主要支持渠道,但没有人看它。我不能说我是那些声称他们的官方支持频道的粉丝,因为这会导致类似的情况。这不是chart.js API文档所解释的吗?如果没有,这绝对是一件需要向Chart.js人员报告的事情,这样他们就可以将信息添加到文档中,这样不仅您,而且您之后的每个人都可以轻松找到这些信息。如果你只是在这里问一下,那是不会发生的。我通读了这篇文章,发现了贝塞尔曲线的一些方面,但是这篇文档没有指出如何将我的控制点传递给图表。因此,我看不到有人提到我的具体问题。同意值得向Chart.js人员报告,但他们在Github页面上写道stackoverflow是主要的支持渠道。那么,你知道如何联系他们吗?提出一个问题,解释可能需要添加到文档中的信息,在给出足够完整的描述之后,还可以链接到这个问题,并注意,虽然这应该是他们的主要支持渠道,但没有人看它。我不能说我是那些声称他们的官方支持频道的粉丝,因为这会导致类似的情况。