Comments (2)
I'd love to see this happen @bdauvergne, but I don't have time to really dig in to it. I experimented today and came up with this, which hopefully is the direction you're looking for? Fork the repository, make these changes, and see where you get.
You'll still need to read through a LOT of javascript files and use your browser developer tools to set breakpoints, etc, to finish it.
diff --git a/src/web/static/js/cubesviewer/cubesviewer.views.cube.chart.js b/src/web/static/js/cubesviewer/cubesviewer.views.cube.chart.js
index aca1462..50aa527 100644
--- a/src/web/static/js/cubesviewer/cubesviewer.views.cube.chart.js
+++ b/src/web/static/js/cubesviewer/cubesviewer.views.cube.chart.js
@@ -305,6 +305,35 @@ function cubesviewerViewCubeChart() {
};
+ this.findLabel = function(view, name) {
+ //check for a label in aggregates first
+ //then check in dimensions
+ to_return = "";
+ $(view.cube.aggregates).each(function(idx, agg) {
+ if (name === agg.name) {
+ to_return = agg.label || agg.name;
+ return false; //break
+ }
+ });
+ if (to_return !== "") {
+ return to_return;
+ }
+
+ $(view.cube.dimensions).each(function(idx, dim) {
+ if (name === dim.name) {
+ to_return = dim.label || dim.name;
+ return false; //break
+ }
+ });
+ if (to_return !== "") {
+ return to_return;
+ }
+
+ //fallback to using the name
+ return name;
+ };
+
/**
* Draws a vertical bars chart.
*/
@@ -320,11 +349,12 @@ function cubesviewerViewCubeChart() {
$(dataRows).each(function(idx, e) {
serie = [];
for (var i = 1; i < colNames.length; i++) {
+ var label = this.findLabel(view, colNames[i]);
var value = e[colNames[i]];
if (value != undefined) {
- serie.push( { "x": colNames[i], "y": value } );
+ serie.push( { "x": label, "y": value } );
} else {
- serie.push( { "x": colNames[i], "y": 0} );
+ serie.push( { "x": label, "y": 0} );
}
}
var series = { "values": serie, "key": e["key"] != "" ? e["key"] : view.params.yaxis };
@@ -335,7 +365,7 @@ function cubesviewerViewCubeChart() {
}
d.push(series);
serieCount++;
- });
+ }.bind(this));
d.sort(function(a,b) { return a.key < b.key ? -1 : (a.key > b.key ? +1 : 0) });
/*
from cubesviewer.
This shall be fixed by 2174b95, still in the devel branch.
Will keep this open until 2.0 is out and resolution is confirmed.
from cubesviewer.
Related Issues (20)
- Dimension elements "lost" when switching to Pie chart HOT 8
- Negative values are not shown in pie chart HOT 1
- Issue with "Export figure" on FF 64 HOT 2
- Popups on charts sometimes stop working HOT 1
- Missing months in the bar chart when there's no data for them HOT 1
- Saved views: changing grouped/stacked is not an aspect of view metadata modification HOT 1
- I want to open .cus file with client, is this possible? HOT 1
- No user created on migration HOT 1
- CubesViewer Proxy User & ACL HOT 2
- Internal Model Error with Apache in Windows HOT 1
- Order_Attribute not working in CubesViewer-Server 2.0.2 HOT 1
- Chart in Cubes Viewer HOT 1
- Error in series table with horizontal dimension and null value
- Export figure option results in an undefined output filename and corrupted PNG HOT 1
- login
- Order_Attribute not working for dimension filter HOT 1
- Cubesviewer studio admin password HOT 1
- store data base conecction error HOT 1
- Quick Start guide non working under Windows HOT 1
- aggregates sum returns 0 when column contains positive and negative numbers HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cubesviewer.