import numpy as np import matplotlib.pyplot as plt import plotly.graph_objects as go women_pop = np.array([5., 30., 45., 22.]) men_pop = np.array( [5., 25., 50., 20.]) y = list(range(len(women_pop))) fig = go.Figure(data=[ go.Bar(y=y, x=women_pop, orientation='h', name="women", base=0), go.Bar(y=y, x=-men_pop, orientation='h', name="men", base=0) ]) fig.update_layout( barmode='stack', title={'text': f"Men vs Women", 'x':0.5, 'xanchor': 'center' }) fig.update_yaxes( ticktext=['aa', 'bb', 'cc', 'dd'], tickvals=y ) fig.show()