DanZimmerman
DanZimmerman

Reputation: 1716

Python Plotly format axis numbers as %

Here's the dataframe

df = pd.DataFrame({"col_1":[0.00143,0.00653,0.00732],"col_2":[0.00984,0.00192,0.00751]},index=['A','B','C'])

Here's my plotly code:

trace0 = go.Bar(
x=[df.columns[0],df.columns[1]],
y=[df.ix[0,0],df.ix[0,1]],
name=df.index[0],
# marker=dict(color=cof_pal[0]
)


trace1 = go.Bar(
x=[df.columns[0],df.columns[1]],
y=[df.ix[1,0],df.ix[1,1]],
name=df.index[1],
# marker=dict(color=cof_pal[1]
)



trace2 = go.Bar(
x=[df.columns[0],df.columns[1]],
y=[df.ix[2,0],df.ix[2,1]],
name=df.index[2],
# marker=dict(color=cof_pal[2]
)


layout = go.Layout(showlegend=True, title="Title", font=dict(size=Chart_Title_Font_Size),
               yaxis=dict(title='Percentage Change(%)', titlefont=dict(size=yaxis_font_size), tickfont=dict(size=yaxis_font_size)),
               xaxis=dict(title='Time', titlefont=dict(size=xaxis_font_size), tickfont=dict(size=yaxis_font_size))
              )


data = [trace0,trace1,trace2]

fig = go.Figure(data=data, layout=layout)
iplot(fig, filename='fig1')

I need the y axis to be x.xx% format (or n digits after the decimal point).

Another question is: the y axis title "Percentage Change(%)" is too close to the y axis numbers. How to move it further?

Upvotes: 17

Views: 41194

Answers (3)

jeffhale
jeffhale

Reputation: 4042

After you've created your fig object you can use fig.update_layout(yaxis_tickformat=".2%").

If someone didn't want a decimal or the numbers to the right of it showing they could use "2%".

Upvotes: 4

Maximilian Peters
Maximilian Peters

Reputation: 31709

You could set tickformat in the layout options.

import plotly.graph_objects as go

layout = go.Layout(yaxis=dict(tickformat=".2%"))

Upvotes: 34

Ram Prajapati
Ram Prajapati

Reputation: 2091

You can use ticksuffix in the layout options.

yaxis=dict(ticksuffix=".00%")

layout = go.Layout(                
                yaxis=dict(ticksuffix=".00%", tickangle=45, title='Percentage Change(%)')

https://plot.ly/python/reference/#layout-yaxis

Upvotes: 6

Related Questions