Javascript 使用plotly创建条形图,其中数据为分类数组
我对javascript完全是个新手,在创建基于分类数组的数据的条形图时遇到了一些问题 有人能帮我指出我是如何用plotly创建条形图的吗。 主要问题是为我创建x和y数据数组 我的数据如下所示:Javascript 使用plotly创建条形图,其中数据为分类数组,javascript,plotly,Javascript,Plotly,我对javascript完全是个新手,在创建基于分类数组的数据的条形图时遇到了一些问题 有人能帮我指出我是如何用plotly创建条形图的吗。 主要问题是为我创建x和y数据数组 我的数据如下所示: tableData={} column=“性别” 数据=[‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男
tableData={}
column=“性别”
数据=[‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、
console.log(数据)
tableData={}
column=“性别”
数据=[‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、‘男性’、‘女性’、‘男性’、‘男性’、‘男性’、‘男性’、
tableData[列]=数据
风险值数据=[
{
x:???
y:???
类型:'bar'
}
];
Plotly.newPlot(“测试”,数据)代码>这实际上不是一个关于Plotly的问题,而是一个关于计算值在JavaScript数组中出现的频率的问题。实现这一点有多种方法,我最喜欢的方法是使用reduce()
:
这将创建一个对象(tableData),其中数组(data)的所有唯一字符串显示为键,其频率显示为值,即
{ male: 31, female: 12 }
将其与您的代码结合起来,您将得到:
let数据=[‘男’、‘女’、‘男’、‘男’、‘男’、‘男’、‘男’、‘男’、‘女’、‘男’、‘男’、‘女’、‘男’、‘男’、‘男’、‘男’、‘女’、‘男’、‘男’、‘男’、‘女’、‘男’、‘男’、‘女’、‘男’、‘男’、‘男’、‘男’、‘女’、‘男’、‘男’、‘男’、‘男’、‘男’、‘男’、‘男’、‘男’、‘女’、‘男’、‘男’、‘男’、‘男’、‘男’、‘男’
设tableData=data.reduce(函数(obj,val){
对象[val]=++obj[val]| 1;
返回obj;
}, {});
设plotData=[
{
x:对象键(tableData),
y:对象值(tableData),
类型:'bar'
}
];
Plotly.newPlot('test',plotData);
{ male: 31, female: 12 }