Search code examples
pythonformattingplotly

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')

Solution

  • 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)