Highcharts text labels for y-axis

50,100

Solution 1

You can change the labels by using a label formatter. Assuming your data is formed appropriately, you can do something like the following:

var yourLabels = ["Very Low", "Low", "Medium", "High", "Very High"];
var yourChart = new Highcharts.Chart({
    //...
    yAxis: {        
        labels: {
            formatter: function() {
                return yourLabels[this.value];
            }
        }
    }
    //...
});

Solution 2

Declare an object which will be used to switch the values you want to change, like the following.

var change = {
    0: 'Very Low',
    5: 'Low',
    10: 'Medium',
    15: 'High',
    20: 'Very High'
};

Then on your chart options use labels formatter to switch it.

yAxis: {
    labels: {
        formatter: function() {
            var value = change[this.value];
            return value !== 'undefined' ? value : this.value;
        }
    }
}
Share:
50,100

Related videos on Youtube

Wesley Tansey
Author by

Wesley Tansey

Co-founder at Curvio and Machine Learning PhD Student in the Neural Networks Research Group at UT Austin

Updated on July 09, 2022

Comments

  • Wesley Tansey
    Wesley Tansey over 1 year

    I'm using Highcharts and would like to display a simple column graph, but instead of using numeric values for the y-axis, I would like to use text values.
    For example, instead of [0,5,10,15,20] I would like to use [Very Low,Low,Medium,High,Very High].

    I noticed it's somewhat possible to do this with plot bands, but that still shows the numeric y-axis labels and just puts the text beside them. I want to only show the text labels.

  • Gideon
    Gideon over 11 years
    Just trying to achieve the same thing - the graph sets up nicely as per this method (with labels not numerical values) however I can't get my data to plot to it - how do I submit data that maps onto this? (At the moment I've got: series: [{ name: 'Status', data: [No Existing Services, Inpatient Only, Inpatient Only] }
  • nicolallias
    nicolallias over 9 years
    would be nicer to use a switch
  • Anders
    Anders over 9 years
    @nicolallias No, it would not. What if the mapping between numeric and textual values is maintained in a database?