From 2cd016f11ce306fb0cdb6b1276ab034592f254ec Mon Sep 17 00:00:00 2001 From: Conglei Date: Mon, 23 Apr 2018 10:05:29 -0700 Subject: [PATCH] [axis formatting] Override the valueformat to be percentage when contribution is selected (#4866) * force the valueformat to be percentage when contribution is selected * remove extra empty lines * simplied the logic by reusing some existing code --- superset/assets/src/visualizations/nvd3_vis.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/superset/assets/src/visualizations/nvd3_vis.js b/superset/assets/src/visualizations/nvd3_vis.js index 6a115f0c6a..68fe69f8c3 100644 --- a/superset/assets/src/visualizations/nvd3_vis.js +++ b/superset/assets/src/visualizations/nvd3_vis.js @@ -253,7 +253,7 @@ export default function nvd3Vis(slice, payload) { case 'pie': chart = nv.models.pieChart(); colorKey = 'x'; - chart.valueFormat(f); + chart.valueFormat(formatter); if (fd.donut) { chart.donut(true); } @@ -386,9 +386,10 @@ export default function nvd3Vis(slice, payload) { const yAxisFormatter = d3FormatPreset(fd.y_axis_format); if (chart.yAxis && chart.yAxis.tickFormat) { - if (fd.num_period_compare) { - // When computing a "Period Ratio", we force a percentage format - chart.yAxis.tickFormat(d3.format('.1%')); + if (fd.num_period_compare || fd.contribution) { + // When computing a "Period Ratio" or "Contribution" selected, we force a percentage format + const percentageFormat = d3.format('.1%'); + chart.yAxis.tickFormat(percentageFormat); } else { chart.yAxis.tickFormat(yAxisFormatter); }