Javascript 如何使用chartjs.org创建包含数组数据的图表?
我尝试创建一个带有条形图的网站。我喜欢使用。 有一些很好的例子,但如果数据是数组,我不知道如何可视化数据Javascript 如何使用chartjs.org创建包含数组数据的图表?,javascript,arrays,chart.js,Javascript,Arrays,Chart.js,我尝试创建一个带有条形图的网站。我喜欢使用。 有一些很好的例子,但如果数据是数组,我不知道如何可视化数据 var myArray = [{ year: '2016', value: 5 }, { year: '2017', value: 9 }, { year: '2018', value: 4 } ]; 我如何循环使用myArray来创建一个类似示例中的条形
var myArray = [{
year: '2016',
value: 5
},
{
year: '2017',
value: 9
},
{
year: '2018',
value: 4
}
];
我如何循环使用myArray来创建一个类似示例中的条形图
var ctx=document.getElementById('myChart').getContext('2d');
var myChart=新图表(ctx{
类型:'bar',
数据:{
标签:['2016','2017','2018'],
数据集:[{
标签:“#投票数”,
数据:[5,9,4],
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99,132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
边框宽度:1
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
}
}]
}
}
});代码>
您可以映射对象数组,只获取所需的值。
我这样做是通过
var values=myArray.map((x)=>x.value)
然后使用values
作为图表选项中数据
属性的值
对于标签
,可以使用相同的逻辑,但使用x.year
下面的代码表示一个示例:
var myArray=[{
年份:2016年,
价值:5
},
{
年份:2017年,
数值:9
},
{
年份:“2018年”,
价值:4
}
];
//过滤这些值
var values=myArray.map((x)=>x.value)
var ctx=document.getElementById('myChart').getContext('2d');
var myChart=新图表(ctx{
类型:'bar',
数据:{
标签:['2016','2017','2018'],
数据集:[{
标签:“#投票数”,
数据:价值观,
边框宽度:1,
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
‘rgba(255、206、86、0.2)’
],
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的
}
}]
}
}
});代码>
是否要打印属性值
,当属性不存在时,是否要打印wert
?抱歉,值是正确的。我编辑帖子哦不!var values=myArray.map((x)=>x.value)不适用于Internet Explorer 11问题在于箭头函数,请将其更改为正常函数,而不是(x)=>x.value
使用:function(x){return x.value}
对不起,但是函数应该是什么样子?var values=myArray.map(function(x){return x.value}