Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 如何对google图表连接的结果进行排序_Javascript_Charts_Google Visualization - Fatal编程技术网

Javascript 如何对google图表连接的结果进行排序

Javascript 如何对google图表连接的结果进行排序,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,我有2个arrayToDataTable,我正在做一个完整的联接来表示图中的2,但是当进行联接时,结果是按字母顺序排列的。 我需要重新排序或使连接不按结果排序,或者找到另一种方法来连接两个数组。 重要信息行的第一个元素将始终是字符串,但它并不总是相同的 函数绘图图(){ 风险值数据=( [ [“X”,“图1”], [Sun',6], ['Mon',5], [Tue',8], [Wed',2], [Thu',5] ]); var dt1=google.visualization.arrayToD

我有2个arrayToDataTable,我正在做一个完整的联接来表示图中的2,但是当进行联接时,结果是按字母顺序排列的。 我需要重新排序或使连接不按结果排序,或者找到另一种方法来连接两个数组。 重要信息行的第一个元素将始终是字符串,但它并不总是相同的

函数绘图图(){
风险值数据=(
[
[“X”,“图1”],
[Sun',6],
['Mon',5],
[Tue',8],
[Wed',2],
[Thu',5]
]);
var dt1=google.visualization.arrayToDataTable(数据);
var data2=新的google.visualization.DataTable();
data2.addColumn('string','X');
数据2.addColumn('数字','图表2');
data2.addRows([
[Sun',6],
['Mon',5],
[Tue',8],
[Wed',2],
[Thu',5],
[Fri',5],
['Sat',5]
]);
var joinedData=google.visualization.data.join(dt1,data2,'full',[[0,0]],[1],[1]);
var chart=new google.visualization.LineChart(document.querySelector('#chart_div'));
图表绘制(联合数据、{
身高:300,
宽度:600,
真的吗
});
}
load('visualization','1',{packages:['corechart'],callback:drawChart})

我们无法阻止
join
方法对结果进行排序

但是我们可以使用
DataView
来提供定制订单,
通过使用
setRows
方法

setRows
获取行索引数组。
因此,我们可以按工作日的顺序对行索引进行排序

在这里,我们首先使用一个以天数为顺序的数组

var sortOrder = [
    'Sun',
    'Mon',
    'Tue',
    'Wed',
    'Thu',
    'Fri',
    'Sat'
];
然后循环连接的数据表,按排序顺序查找当天的索引,
并将行索引放置在数组中的该位置

var sortIndexes = [];
for (var i = 0; i < joinedData.getNumberOfRows(); i++) {
    var day = joinedData.getValue(i, 0);
    sortIndexes[sortOrder.indexOf(day)] = i;
}
并用数据视图绘制图表

var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(sortedData, {
    height: 300,
    width: 600,
    interpolateNulls: true
});
请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
风险值数据=([
['X','Chart 1'],
[Sun',7],
[Mon',6],
[Tue',9],
[Wed',3],
[Thu',6]
]);
var dt1=google.visualization.arrayToDataTable(数据);
var data2=新的google.visualization.DataTable();
data2.addColumn('string','X');
数据2.addColumn('数字','图表2');
data2.addRows([
[Sun',6],
['Mon',5],
[Tue',8],
[Wed',2],
[Thu',5],
[Fri',5],
['Sat',5]
]);
var joinedData=google.visualization.data.join(dt1,data2,'full',[[0,0]],[1],[1]);
变量排序器=[
"太阳",,
“周一”,
“星期二”,
“Wed”,
"Thu",,
“星期五”,
“Sat”
];
var-sortIndexes=[];
对于(var i=0;i

我们无法阻止
join
方法对结果进行排序

但是我们可以使用
DataView
来提供定制订单,
通过使用
setRows
方法

setRows
获取行索引数组。
因此,我们可以按工作日的顺序对行索引进行排序

在这里,我们首先使用一个以天数为顺序的数组

var sortOrder = [
    'Sun',
    'Mon',
    'Tue',
    'Wed',
    'Thu',
    'Fri',
    'Sat'
];
然后循环连接的数据表,按排序顺序查找当天的索引,
并将行索引放置在数组中的该位置

var sortIndexes = [];
for (var i = 0; i < joinedData.getNumberOfRows(); i++) {
    var day = joinedData.getValue(i, 0);
    sortIndexes[sortOrder.indexOf(day)] = i;
}
并用数据视图绘制图表

var chart = new google.visualization.LineChart(document.querySelector('#chart_div'));
chart.draw(sortedData, {
    height: 300,
    width: 600,
    interpolateNulls: true
});
请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
风险值数据=([
['X','Chart 1'],
[Sun',7],
[Mon',6],
[Tue',9],
[Wed',3],
[Thu',6]
]);
var dt1=google.visualization.arrayToDataTable(数据);
var data2=新的google.visualization.DataTable();
data2.addColumn('string','X');
数据2.addColumn('数字','图表2');
data2.addRows([
[Sun',6],
['Mon',5],
[Tue',8],
[Wed',2],
[Thu',5],
[Fri',5],
['Sat',5]
]);
var joinedData=google.visualization.data.join(dt1,data2,'full',[[0,0]],[1],[1]);
变量排序器=[
"太阳",,
“周一”,
“星期二”,
“Wed”,
"Thu",,
“星期五”,
“Sat”
];
var-sortIndexes=[];
对于(var i=0;i