DanZimmerman
DanZimmerman

Reputation: 1716

Python Plotly, how to remove background horizontal line?

How to get rid of the background horizontal lines on this chart? The lines that represent the scales 5, 10, 15, etc. You can find the code below:

enter image description here

# Plotting waterfall chart for Years of Experience lost on DA Team

x_data = ['A', 'B', 'C', 'D', 'E']
y_data = [13, 23.5, 17.5, 10, 2.5] # y_data for positioning the annotations
text = ['27', '7', '5', '10', '5']

# Base
Base = go.Bar(x=x_data, y=[0, 20, 15, 5, 0], marker=dict(color='rgba(1,1,1,     0.0)',))
# Total
Total = go.Bar(x=x_data, y=[27, 0, 0, 0, 0],     marker=dict(color='#003A6F',line=dict(color='k',width=1,)))
# Individuals
Individuals = go.Bar(x=x_data, y=[0, 7, 5, 10, 0], marker=dict( color='#FFE512',line=dict(color='k',width=1,)))
# Years of Experience Left
Years_left = go.Bar(x=x_data, y=[0, 0, 0, 0, 5],  marker=dict(color='00AB39',line=dict(color='k',width=1,)))

# Put all traces in one "data" list
data = [Base, Total, Individuals, Years_left]

# Layout takes care of things like chart title, x and y axis titles and font     sizes, etc.
layout = go.Layout(
    title='Chart One',
    barmode='stack',
    yaxis=dict(title='Number of Years', titlefont=dict(size=yaxis_font_size)
                              , tickfont=dict(size=yaxis_font_size)),
    xaxis=dict(title='Names', titlefont=dict(size=xaxis_font_size)
                              , tickfont=dict(size=yaxis_font_size)) ,   
    showlegend=False
)

annotations = []
annotations_colors = ['rgba(245, 246, 249, 1)', 'k', 'k', 'k', 'rgba(245,     246, 249, 1)'] # assign colors to annotations
for i in range(0, 5):
    annotations.append(dict(x=x_data[i], y=y_data[i], text=text[i],     font=dict(family='Arial', size=14, color=annotations_colors[i]),     showarrow=False,))
    layout['annotations'] = annotations

fig = go.Figure(data=data, layout=layout) # Standard plotly way to assign     data and layout
iplot(fig, filename='Chart One')

Upvotes: 14

Views: 38615

Answers (2)

vardhan SIRAMDASU
vardhan SIRAMDASU

Reputation: 217

we can update layout using fig.update_layout() method by setting showgrid = False for both xaxis and yaxis parameters.

fig.update_layout(xaxis=dict(showgrid=False),
              yaxis=dict(showgrid=False)
)

or

we can directly use fig.update_xaxes() and fig.update_yaxes() methods and assign showgrid=False.

fig.update_xaxes(showgrid=False)
fig.update_yaxes(showgrid=False)

Upvotes: 10

Scott Mermelstein
Scott Mermelstein

Reputation: 15397

Enlightening examples can be found at https://plot.ly/python/axes/

Simply add showgrid=False to your yaxis and xaxis dictionaries.

All the dict options for your xaxis can be found at https://plot.ly/python/reference/#layout-xaxis (and the yaxis is similarly at https://plot.ly/python/reference/#layout-yaxis)

Upvotes: 27

Related Questions