I am trying to create a FacetGrid in Seaborn
My code is currently:
g = sns.FacetGrid(df_reduced, col="ActualExternal", margin_titles=True) bins = np.linspace(0, 100, 20) g.map(plt.hist, "ActualDepth", color="steelblue", bins=bins, width=4.5)
This gives my the Figure
Now, instead of “ActualExternal =0.0” and “ActualExternal =1.0” I would like the titles “Internal” and “External”
And, instead of “ActualDepth” I would like the xlabel to say “Percentage Depth”
Finally, I would like to add a ylabel of “Number of Defects”.
I’ve tried Googling and have tried a few things but so far no success. Please can you help me?
Thanks
Advertisement
Answer
You can access the axes of a FacetGrid (g = sns.FacetGrid(...)
) via g.axes
. With that you are free to use any matplotlib method you like to tweak the plot.
Change titles:
axes = g.axes.flatten() axes[0].set_title("Internal") axes[1].set_title("External")
Change labels:
axes = g.axes.flatten() axes[0].set_ylabel("Number of Defects") for ax in axes: ax.set_xlabel("Percentage Depth")
Note that I prefer those above the FacetGrid
‘s internal g.set_axis_labels
and set_titles
methods, because it makes it more obvious which axes is to be labelled.