Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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_Arrays_Charts_Chart.js - Fatal编程技术网

Javascript 设置要在图表js上显示的数组

Javascript 设置要在图表js上显示的数组,javascript,arrays,charts,chart.js,Javascript,Arrays,Charts,Chart.js,例如,我有数组[1,2,3,4,5,6,7,8,9,10,11,12,13],我只想显示子数组[5,6,7,8,9] 是否可以使用Chart.js库进行此操作 编辑:首先,我要在图表上显示完整的数组。单击按钮后,我将显示子阵列。有没有这样做的想法?最简单的方法就是销毁图表(使用chart变量),然后使用新数据构建新图表 例如,如果您已经使用 ... var ctx = document.getElementById("chart").getContext("2d"); var myChart =

例如,我有数组[1,2,3,4,5,6,7,8,9,10,11,12,13],我只想显示子数组[5,6,7,8,9]

是否可以使用Chart.js库进行此操作


编辑:首先,我要在图表上显示完整的数组。单击按钮后,我将显示子阵列。有没有这样做的想法?

最简单的方法就是销毁图表(使用chart变量),然后使用新数据构建新图表

例如,如果您已经使用

...
var ctx = document.getElementById("chart").getContext("2d");
var myChart = new Chart(ctx).Bar(data);
你需要先用电脑销毁它

myChart.destroy();
然后制作新的图表

myChart = new Chart(ctx).Bar(newData);
其中,
newData
是新的数据对象

您还可以更新旧数据对象(如果您没有将其用于任何其他用途),而不是使用新对象,如

data.labels = [5, 6, 7, 8, 9]; 
data.datasets[0].data = [5, 6, 7, 8, 9]; 
myChart.destroy();
myChart = new Chart(ctx).Bar(data);

小提琴-

(图表在2秒延迟后用新数据更新,您不需要setTimeout包装器-它只是为了演示)



您也可以使用原型方法
.update()
.removeData()
(对于折线图方法,每种类型都有类似的方法),但是由于您的更改需要从图形的两端删除数据,
.destroy()
将是一个更容易的选择。

var newAr=[1,2,3,4,5,6,7,8,9,10,11,12,13].splice(4,5)
no.你不理解这个问题。我的意思是,我在图表上显示了那个数组。我想在图表上显示子数组。