mirror of
https://github.com/getredash/redash.git
synced 2025-12-25 10:00:45 -05:00
Chart: regular area stacking (not percent) now shows both the value and sum per point.
This commit is contained in:
@@ -35,9 +35,15 @@
|
||||
|
||||
var normalAreaStacking = function(seriesList) {
|
||||
fillXValues(seriesList);
|
||||
for (var i = 1; i < seriesList.length; i++) {
|
||||
_.each(seriesList, function(series) {
|
||||
series.text = [];
|
||||
series.hoverinfo = 'text+name';
|
||||
});
|
||||
for (var i = 0; i < seriesList.length; i++) {
|
||||
for (var j = 0; j < seriesList[i].y.length; j++) {
|
||||
seriesList[i].y[j] += seriesList[i-1].y[j];
|
||||
var sum = i > 0 ? seriesList[i-1].y[j] : 0;
|
||||
seriesList[i].text.push('Value: ' + seriesList[i].y[j] + '<br>Sum: ' + (sum + seriesList[i].y[j]));
|
||||
seriesList[i].y[j] += sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -53,13 +59,13 @@
|
||||
for (var i = 0; i < seriesList[0].y.length; i++) {
|
||||
var sum = 0;
|
||||
for(var j = 0; j < seriesList.length; j++) {
|
||||
sum += seriesList[j]['y'][i];
|
||||
sum += seriesList[j].y[i];
|
||||
}
|
||||
for(var j = 0; j < seriesList.length; j++) {
|
||||
var value = seriesList[j]['y'][i] / sum * 100;
|
||||
seriesList[j].text.push('Value: ' + seriesList[j]['y'][i] + '<br>Relative: ' + value.toFixed(2) + '%');
|
||||
var value = seriesList[j].y[i] / sum * 100;
|
||||
seriesList[j].text.push('Value: ' + seriesList[j].y[i] + '<br>Relative: ' + value.toFixed(2) + '%');
|
||||
|
||||
seriesList[j]['y'][i] = value;
|
||||
seriesList[j].y[i] = value;
|
||||
if (j > 0)
|
||||
seriesList[j].y[i] += seriesList[j-1].y[i];
|
||||
}
|
||||
@@ -77,12 +83,12 @@
|
||||
for (var i = 0; i < seriesList[0].y.length; i++) {
|
||||
var sum = 0;
|
||||
for(var j = 0; j < seriesList.length; j++) {
|
||||
sum += seriesList[j]['y'][i];
|
||||
sum += seriesList[j].y[i];
|
||||
}
|
||||
for(var j = 0; j < seriesList.length; j++) {
|
||||
var value = seriesList[j]['y'][i] / sum * 100;
|
||||
seriesList[j].text.push('Value: ' + seriesList[j]['y'][i] + '<br>Relative: ' + value.toFixed(2) + '%');
|
||||
seriesList[j]['y'][i] = value;
|
||||
var value = seriesList[j].y[i] / sum * 100;
|
||||
seriesList[j].text.push('Value: ' + seriesList[j].y[i] + '<br>Relative: ' + value.toFixed(2) + '%');
|
||||
seriesList[j].y[i] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -232,7 +238,7 @@
|
||||
|
||||
scope.$watch('series', redraw);
|
||||
scope.$watch('options', redraw, true);
|
||||
scope.layout = {margin: {l: 50, r: 50, b: 50, t: 20, pad: 4}, autosize: true};
|
||||
scope.layout = {margin: {l: 50, r: 50, b: 50, t: 20, pad: 4}, autosize: true, hovermode: 'closest'};
|
||||
scope.plotlyOptions = {showLink: false, displaylogo: false};
|
||||
scope.data = [];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user