I just can't figure out how to change the xlabels in a Seaborn Facetgrid. It offers a method for changing the x labels with set_xlabels() but unfortunately not individually for each subplot.
I have two subplots which share the y-axis but have a different x-axes and i want to label them with different texts.
Can anybody give me a hint. Thank you in advance.
You can access the individual axes of the FacetGrid
using the axes
property, and then use set_xlabel()
on each of them. For example:
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="ticks", color_codes=True)
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="time", hue="smoker")
g = g.map(plt.scatter, "total_bill", "tip", edgecolor="w")
g.axes[0,0].set_xlabel('axes label 1')
g.axes[0,1].set_xlabel('axes label 2')
plt.show()
Note in this example, g.axes
has a shape of (1,2)
(one row, two columns).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With