My boxplot seem not align with the x-tick of the plot. How to make the boxplot align with the x-tick?
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame([['0', 0.3],['1', 0.5],['2', 0.9],
['0', 0.8],['1', 0.3],['2', 0.4],
['0', 0.4],['1', 0.0],['2', 0.7]])
df.columns = ['label', 'score']
label_list = ['0', '1', '2']
fig = plt.figure(figsize=(8, 5))
g=sns.boxplot(x='label', y='score', data=df, hue='label', hue_order=label_list)
g.legend_.remove()
plt.show()
You can add dodge=False
into your boxplot
line & that should fix this.
That updated code would be as below
g=sns.boxplot(x='label', y='score', data=df, hue='label', hue_order=label_list, dodge=False)
You can then play with width
to control the width (default width is 0.8) of box plots like below
g=sns.boxplot(x='label', y='score', data=df, hue='label', hue_order=label_list, dodge=False, width=.2)