'Format y-axis as percent in plot.ly
How do I format the y-axis as percent in plot.ly?. in var layout
I have the following settings for the y-axis:
yaxis: {
hoverformat: ",.0%"
},
which changes the hover to percentages but the values printed on the y-axis still go from 0-1 instead of 0-100.
Any help is much appreciated.
Solution 1:[1]
In order to change the format of the y-axis you need to set tickformat
, not hoverformat
.
var trace1 = {
x: [1, 2, 3, 4],
y: [0.10, 0.15, 0.43, 0.17],
type: 'scatter'
};
var trace2 = {
x: [1, 2, 3, 4],
y: [0.16, 0.5, 0.11, 0.9],
type: 'scatter'
};
var layout = {
yaxis: {
tickformat: ',.0%',
range: [0,1]
}
}
var data = [trace1, trace2];
Plotly.newPlot('myDiv', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="myDiv" style="width: 480px; height: 400px;">
Solution 2:[2]
For others: if you are using Plotly Express or Cufflinks with Plotly, you can return the figure object and adjust the yaxis.tickformat
with the following:
my_fig.layout.yaxis.tickformat = ',.0%'
As pointed out by @shrmn in the comments, substitute a different number for zero and that number of decimal places will be displayed.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Maximilian Peters |
Solution 2 | jason m |