如何删除chartjs中的一些点

Uma*_*azi 3 javascript chart.js

我必须隐藏/删除除倒数第二个点之外的所有数据点,如图所示,已到处搜索,但找不到实现此目的的正确解决方案。

myChart.datasets[0].points[0].display = false;
legStretchtCtx.update();
Run Code Online (Sandbox Code Playgroud)

上面的代码片段适用于 Chart.js 版本 1.0 但我使用的是 Chart.js 版本: 2.7.1 。我已经使用了这个片段,但它给出了一个错误:

无法读取未定义的属性“0”

myChart.datasets[0].points[0].display = false;
legStretchtCtx.update();
Run Code Online (Sandbox Code Playgroud)
var legStretchtCtx = document.getElementById("leg-stretch-chart");
          // var legStretch =
          var myChart = new Chart(legStretchtCtx, {
              type: 'line',
              data: {
                  labels: ["Day 1", "Day 2", "Day 3", "Day 4", "Day 5", "Day 6","Day 7"],
                  datasets: [{
                      label: 'Leg Stretch',
                      data: [3, 4, 5, 4, 3, 3.5, 3.5],
              				backgroundColor:"#70d6db",
                      borderColor: ["#70d6db"],
                      borderWidth: 4,
                      pointBackgroundColor: "#fff",
                      pointRadius: 8,
                      pointHoverRadius: 8,
      				        pointHoverBackgroundColor: "#0ba8b0",
                      pointHoverBorderColor: "#26c1c9",
      				        pointBorderColor:"#26c1c9"

                  }]
              },
              options: {
                  legend: {
                      display: false,
                      labels: {
                          display: true
                      }
                  },
      			responsive:true,
                  scales: {
                      xAxes: [{
                          gridLines: {
                              display: false,
                              drawBorder:false,

                          },
                          ticks: {
                              display: false,
                              fontFamily: "Montserrat",
                              fontColor: "#2c405a",
      						fontSize: 12
                          }
                      }],
                      yAxes: [{
                          gridLines: {
                              display: false,
                              drawBorder:false,

                          },
                          ticks: {
      						display: false,
      						fontFamily: "Montserrat",
                              fontColor: "#2c405a",
                             	fontSize: 12,
      						stepSize:1,
                              min: 0,
                              max: 10,
      					}

                      }]
                  }
              }
          });
Run Code Online (Sandbox Code Playgroud)

小智 5

首先,更改pointRadius为数组:

pointRadius: [8, 8, 8, 8, 8, 8, 8]
Run Code Online (Sandbox Code Playgroud)

然后,您必须使用每个点的特定值(在我们的例子中是倒数第二个点)重写此数组并更新:

$("#btnRemovePoints").click(function()
{
    //change the radius of every point except one
    myChart.data.datasets[0].pointRadius = [0, 0, 0, 0, 0, 8, 0];
    myChart.update();
});
Run Code Online (Sandbox Code Playgroud)

此小提琴的更多详细信息:https ://jsfiddle.net/s7m1961t/