I have my two graphs on top of each other and I would like to put them next to each other but I don't know how to do it?
code :
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme(style="whitegrid")
boxenplot_graph = sns.boxenplot(x=expeditions["nbre_members"], color = "r")
boxenplot_graph2 = sns.boxenplot(x=expeditions["hired_staff"],color = "b")
plt.xlabel("Nombre de members/hired_staff")
plt.title("Répartition du nombre de membres/hired_staff")
#plt.gca().legend(('membres', 'morts'))
plt.legend(["members", "hired_staff"],['rouge', 'bleu'])
CodePudding user response:
- Convert the columns to a long form with
Given a 3rd column
- This option uses a 3rd column for
hue=
# melt columns and have an id variable dfm = tips[['total_bill', 'tip', 'smoker']].melt(id_vars='smoker') # display(dfm.head(3)) smoker variable value 0 No total_bill 16.99 1 No total_bill 10.34 2 No total_bill 21.01 # plot fig, ax = plt.subplots(figsize=(6, 4)) p = sns.boxenplot(data=dfm, x='value', y='variable', hue='smoker', ax=ax) p.set(ylabel='My yLabel', xlabel='My xLabel') plt.show()
CodePudding user response:
use subplots if you had two different datasets expeditions1 and expeditions2
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns expeditions1=np.random.random_integers(1, 100, size=500) expeditions2=np.random.random_integers(1, 1000, size=500) sns.set_theme(style="whitegrid") fig,ax=plt.subplots(2,figsize=(10,10)) boxenplot_graph = sns.boxenplot(y=expeditions1, color = "r",ax=ax[0]) ax[0].set_title("One boxenplot") boxenplot_graph2 = sns.boxenplot(y=expeditions2,color = "b",ax=ax[1]) plt.xlabel("hired staff") ax[1].set_title("Two boxenplot") #plt.gca().legend(('membres', 'morts')) plt.legend(["members", "hired_staff"],['rouge', 'bleu'])
- This option uses a 3rd column for