Javascript 谷歌线形图:线形图问题将3个数据数组合并到一个图表中可能吗?

Javascript 谷歌线形图:线形图问题将3个数据数组合并到一个图表中可能吗?,javascript,jquery,charts,google-visualization,Javascript,Jquery,Charts,Google Visualization,我需要在x轴产品名称下的图形如下所示 1 X轴:日期 2.y轴:成本 3.线点应为产品名称 google.charts.load('current'{ 软件包:['corechart'] }).然后(函数(){ var图={}; 变量选项={ 专栏:{ 图表区:{ 高度:“100%”, 宽度:“100%”, 排名:24, 左:64, 右:32, 底图:48, }, 工具提示:{ 数值小数:2, valueSuffix:'美元', valuePrefix:“$” }, 'vAxis':{ 标题

我需要在x轴产品名称下的图形如下所示 1 X轴:日期 2.y轴:成本 3.线点应为产品名称

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var图={};
变量选项={
专栏:{
图表区:{
高度:“100%”,
宽度:“100%”,
排名:24,
左:64,
右:32,
底图:48,
},
工具提示:{
数值小数:2,
valueSuffix:'美元',
valuePrefix:“$”
},
'vAxis':{
标题:“成本单位为美元($)”,格式:“$#”,
},
高度:“100%”,
图例:{
位置:'底部'
},
点数:4,
宽度:“100%”
},
};
//列图表数据
var jsonData=[“2017-01-01”,83578],“2017-02-01”,208529],“2017-03-01”,211377],“2017-04-01”,215149],“2017-05-01”,215149];
加载数据(jsonData,“1”,“行”);
var数据2=[“2017-02-01”,332],“2017-03-01”,341],“2017-04-01”,339],“2017-05-01”,339];
//加载json数据
函数loadData(jsonData、id、chartType){
//创建数据表
var dataTable=new google.visualization.dataTable();
开关(图表型){
案例“行”:
var chartData=[];
push(['date','Cost']);
forEach(函数(行){
push([row[0],parseFloat(row[1]));
});
var dataTable=google.visualization.arrayToDataTable(chartData);
//图纸();
//var chartData=[];
//push(['date','Cost']);
//data2.forEach(函数(行){
//push([row[0],parseFloat(row[1]));
//     });
//var dataTable=google.visualization.arrayToDataTable(chartData);
//var joinedData=google.visualization.data.join(data1,data2,'full',[[0,0]],[1],[1]);
打破
}
//绘制图表
$(窗口)。调整大小(函数(){
图纸(id、图表类型、数据表);
});
图纸(id、图表类型、数据表);
}
//绘制图表
函数drawChart(id、chartType、dataTable){
如果(!charts.hasOwnProperty(id)){
charts[id]=新的google.visualization.ChartWrapper({
chartType:chartType+“图表”,
集装箱:“图表-”+id,
选项:选项[图表类型]
});
}
图表[id].setDataTable(dataTable);
图表[id]。绘图();
}
});
html,正文{
身高:100%;
保证金:0px 0px 0px 0px;
溢出:隐藏;
填充:0px 0px 0px 0px;
}
.图表{
身高:100%;
}

为每个数组在图表的数据表中添加一列,
为数组中的每个元素添加一行,
然后按日期对数据表进行分组

对于标签,创建名称数组,
只要确保标签的数量与数据数组的数量相同

var names = ['Aws', 'Azure', 'Other 1', 'Other 2'];
然后

// add category column
var colIndex = dataTable.addColumn('number', names[categoryIndex]);
请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
//保存图表以便重新绘制
var图={};
//将数据合并到数组中
var jsonData=[];
风险值类别1=[“2017-02-01”,332],“2017-03-01”,341],“2017-04-01”,339],“2017-05-01”,339];
风险值类别2=[“2017-01-01”,83578],“2017-02-01”,208529],“2017-03-01”,211377],“2017-04-01”,215149],“2017-05-01”,215149];
风险值类别3=[[“2017-01-01”,618185],“2017-03-01”,735490],“2017-04-01”,642381];
风险值类别4=[[“2017-01-01”,3299];
var name=['Aws','Azure','Other 1','Other 2'];
jsonData.push(类别1);
jsonData.push(类别2);
jsonData.push(类别3);
jsonData.push(类别4);
//创建数据表
var dataTable=new google.visualization.dataTable();
addColumn('string','Date');
var aggColumns=[];
$.each(jsonData,函数(类别索引,类别){
//添加类别列
var colIndex=dataTable.addColumn('number',名称[categoryIndex]);
推({
聚合:google.visualization.data.sum,
列:colIndex,
标签:dataTable.getColumnLabel(colIndex),
类型:dataTable.getColumnType(colIndex)
});
//添加类别数据
$。每个(类别、功能(数据索引、数据){
var rowIndex=dataTable.addRow();
setValue(行索引,0,数据[0]);
setValue(rowIndex,colIndex,data[1]);
});
});
//组数据
var dataTable=google.visualization.data.group(
数据表,
[0],
聚合柱
);
//绘制图表
$(窗口)。调整大小(函数(){
图纸('0',数据表);
});
图纸('0',数据表);
//绘制图表
功能绘图图(id,数据表){
如果(!charts.hasOwnProperty(id)){
charts[id]=新的google.visualization.ChartWrapper({
图表类型:“线条图”,
集装箱id:“图表-”+id
});
}
图表[id].setDataTable(dataTable);
图表[id]。绘图();
}
});
html,正文{
身高:100%;
保证金:0px 0px 0px 0px;
溢出:隐藏;
填充:0px 0px 0px 0px;
}
.图表{
身高:100%;
}


yes将所有数组显示合并到一个图表中,就像使用数据表联接或其他方法一样?每个数组在一个图表中都有不同的行,可以吗?使用数据表谢谢!!如何在图例或工具提示上添加类别名称之类的标签,如category1=Aws Category2=Azure??在谷歌图表中是否存在与highcharts相同的图例单击事件(如当我单击Aws时),而不仅仅是仅显示一行Aws?不是通过标准功能,它仅在单击时高亮显示该行…ok np。。。。当我使用选项添加时,它不起作用:{hAxis:{format:'MMMM yy',}}
hAxis.format
将只处理日期和数字列,而不处理字符串。。。