diff --git a/c3.js b/c3.js index 79cca16d1..d674ba045 100644 --- a/c3.js +++ b/c3.js @@ -9164,4 +9164,4 @@ return c3; -}))); +}))); \ No newline at end of file diff --git a/src/config.js b/src/config.js index 54b010fd7..cd3536944 100644 --- a/src/config.js +++ b/src/config.js @@ -91,6 +91,7 @@ c3_chart_internal_fn.getDefaultConfig = function () { legend_padding: 0, legend_item_tile_width: 10, legend_item_tile_height: 10, + legend_format: undefined, // axis axis_rotated: false, axis_x_show: true, diff --git a/src/legend.js b/src/legend.js index 1f4ec73a4..40769e446 100644 --- a/src/legend.js +++ b/src/legend.js @@ -264,7 +264,13 @@ c3_chart_internal_fn.updateLegend = function (targetIds, options, transitions) { } }); l.append('text') - .text(function (id) { return isDefined(config.data_names[id]) ? config.data_names[id] : id; }) + .text(function (id, index) { + if(config.legend_format && isFunction(config.legend_format)) { + return config.legend_format(id, index); + } else { + return isDefined(config.data_names[id]) ? config.data_names[id] : id; + } + }) .each(function (id, i) { updatePositions(this, id, i); }) .style("pointer-events", "none") .attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendText : -200)