javascript - 如何为 Chart.js 数据提供空值?

标签 javascript object chart.js

查看 this例如,似乎 labels.length 和每个 data.length 必须相等。

如果我想保留某些元素未定义怎么办?例如:

labels: [1500,1600,1700,1750,1800,1850,1900,1950,1999,2050],

data1: [86,114,10 ,106,107,13,133,221,100,2478]

data2: [282,350,411,502]

如您所见,data2 仅针对前 4 个间隔定义。我想画两条线,但第二条比第一条“短”。

或者更好的是仅在给定范围的子集上定义的另一个数据,例如:

 data3: [null,null,null,null,107,13,133,null,null,null]

最佳答案

如果您希望标签具有空数据,您可以将 null 值传递给相应的数据索引,但它将被视为 0

例如:

var barChartData = {
  labels: ["dD 1", "dD 2", "dD 3", "dD 4", "dD 5", "dD 6", "dD 7", "dD 8", "dD 9", "dD 10"],
  datasets: [{
    fillColor: "rgba(0,60,100,1)",
    strokeColor: "black",
    data: [125, null, 12, 52, 65, 20, null, 40, 70, 45]
  }]
}

这是一个实时工作片段:

var barChartData = {
  labels: ["dD 1", "dD 2", "dD 3", "dD 4", "dD 5", "dD 6", "dD 7", "dD 8", "dD 9", "dD 10"],
  datasets: [{
    fillColor: "rgba(0,60,100,1)",
    strokeColor: "black",
    data: [125, null, 12, 52, 65, 20, null, 40, 70, 45]
  }]
}

var index = 11;
var ctx = document.getElementById("canvas").getContext("2d");
var barChartDemo = new Chart(ctx).Bar(barChartData, {
  responsive: true,
  barValueSpacing: 2
});
.container {
  width: 80%;
  margin: 20px auto;
}

.p {
  text-align: center;
  font-size: 14px;
  padding-top: 140px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<div class="container">
  <h2>Chart.js Responsive Bar Chart Demo</h2>
  <div>
    <canvas id="canvas"></canvas>
  </div>
</div>

关于javascript - 如何为 Chart.js 数据提供空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48823180/

相关文章:

php - array_multisort 具有多维对象数组

chart.js - 折线图的数字 X 轴

javascript - rLabel 的 ChartJS v2 自定义工具提示

javascript - 需要帮助设计图表 JS 雷达图

javascript - 如何用JavaScript正确创建HTML5音视频

javascript - 使用 .sort((a,b) => a>b) 对数组进行排序是有效的。为什么?

c# - 坚持对象创建

javascript - 使用字符串值作为要调用的函数的名称

javascript - 访问 JSON 数组元素

javascript - 在json解析中添加函数onclick