Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单点曲线图.js_Javascript_Chart.js_Linechart - Fatal编程技术网

Javascript 单点曲线图.js

Javascript 单点曲线图.js,javascript,chart.js,linechart,Javascript,Chart.js,Linechart,有没有办法在Chart.js中用一个点创建一条直线曲线,如下图所示 我已经尝试了一些骇人的修复,比如添加两个额外的点:在y:0处向右侧添加一个点,以使曲线的右侧部分向下,然后在x:0处添加另一个点,以使曲线如图所示。它没有真正起作用,曲线看起来很糟糕,点显示出来 我还尝试将它们从图形显示区域中移除,使用“最小值”和“最大值”使图形在任一轴上最多只能显示9个,但点仍然显示在轴上 以下是我目前拥有的不工作版本的屏幕截图: 这是我的图形配置代码。我用的是内部角度2/3: this.data = {

有没有办法在Chart.js中用一个点创建一条直线曲线,如下图所示

我已经尝试了一些骇人的修复,比如添加两个额外的点:在y:0处向右侧添加一个点,以使曲线的右侧部分向下,然后在x:0处添加另一个点,以使曲线如图所示。它没有真正起作用,曲线看起来很糟糕,点显示出来

我还尝试将它们从图形显示区域中移除,使用“最小值”和“最大值”使图形在任一轴上最多只能显示9个,但点仍然显示在轴上

以下是我目前拥有的不工作版本的屏幕截图:

这是我的图形配置代码。我用的是内部角度2/3:

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
}