Javascript 单点曲线图.js
有没有办法在Chart.js中用一个点创建一条直线曲线,如下图所示 我已经尝试了一些骇人的修复,比如添加两个额外的点:在y:0处向右侧添加一个点,以使曲线的右侧部分向下,然后在x:0处添加另一个点,以使曲线如图所示。它没有真正起作用,曲线看起来很糟糕,点显示出来 我还尝试将它们从图形显示区域中移除,使用“最小值”和“最大值”使图形在任一轴上最多只能显示9个,但点仍然显示在轴上 以下是我目前拥有的不工作版本的屏幕截图: 这是我的图形配置代码。我用的是内部角度2/3:Javascript 单点曲线图.js,javascript,chart.js,linechart,Javascript,Chart.js,Linechart,有没有办法在Chart.js中用一个点创建一条直线曲线,如下图所示 我已经尝试了一些骇人的修复,比如添加两个额外的点:在y:0处向右侧添加一个点,以使曲线的右侧部分向下,然后在x:0处添加另一个点,以使曲线如图所示。它没有真正起作用,曲线看起来很糟糕,点显示出来 我还尝试将它们从图形显示区域中移除,使用“最小值”和“最大值”使图形在任一轴上最多只能显示9个,但点仍然显示在轴上 以下是我目前拥有的不工作版本的屏幕截图: 这是我的图形配置代码。我用的是内部角度2/3: this.data = {
this.data = {
xLabels: [0,1,2,3,4,5,6,7,8,9, ''],
yLabels: [0,1,2,3,4,5,6,7,8,9, ''],
datasets: [{
label: '',
data: [{x:-5, y: 7}, this.coords, {x: 9, y: 0}],
pointBackgroundColor: '#ffffff',
borderColor: '#ffffff',
pointStyle: 'rectRot',
pointRadius: 8,
}]
};
this.options = {
responsive: true,
maintainAspectRatio: false,
legend: {
display: false,
},
layout: {
padding: {
left: 0,
right: 0,
top: 0,
bottom: 0
}
},
scales: {
yAxes: [{
position: 'left',
ticks: {
fontSize: 14,
fontColor: '#a6a08f',
fontFamily: 'Helvetica',
fontStyle: 'bold',
beginAtZero: true,
min: 0,
max: 10,
stepSize: 1
},
gridLines: {
color: '#a6a08f',
drawTicks: true
}
}],
xAxes: [{
ticks: {
fontSize: 14,
fontColor: '#a6a08f',
fontFamily: 'Helvetica',
fontStyle: 'bold',
beginAtZero: true,
min: 0,
max: 10,
},
gridLines: {
display: true,
color: '#a6a08f',
zeroLineColor: '#a6a08f',
drawTicks: true
}
}]
}
}
我走错了方向。做一条曲线需要三个点。我只想在直线上显示一个点,但需要第一个点和第三个点才能得到曲线。有趣的是,您可以通过指定负y值来隐藏点:
{
x: 9,
y: -1
}
但是,正如您尝试的那样,负x值默认为0。我不确定这是否有帮助,但如果更改图表中的某些值,您可以通过为第一个点指定高于图表的y值,并为第二个点指定低于图表的y值来隐藏两个外部点
。您可能希望使用这些值使其看起来像您所需要的那样,但它确实隐藏了第一个和第三个点,同时仍然为您提供了曲线
还有一个旁注——十进制值用于使其更接近轴:
{
x:9
y:-0.1
}