Highcharts text labels for y-axis
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;
}
}
}
Related videos on Youtube
Wesley Tansey
Co-founder at Curvio and Machine Learning PhD Student in the Neural Networks Research Group at UT Austin
Updated on July 09, 2022Comments
-
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 over 11 yearsJust 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 over 9 yearswould be nicer to use a switch
-
Anders over 9 years@nicolallias No, it would not. What if the mapping between numeric and textual values is maintained in a database?