我正在尝试修改子图中2个seaborn图的ylabel属性。但是,在每个轴上使用set_ylabel()功能均无效。

由于某些原因,我不能直接与FacetGrid配合使用(由于它无法与子图配合使用(它会绘制其他空网格,因此每次绘制后都调用close())。

import matplotlib.pyplot as plt
import seaborn as sns

fig_a, ax_a = plt.subplots(1, 2, figsize = (16, 8))

fig_a.suptitle("Frequency of Exercise by Age")

ax_a[0].set_ylim([0, 500])
ax_a[0].set(ylabel = "Ylabel Test 1")
ax_a[0].set_title("Males (" + str(len(male_age_data)) + "/" + str(len(age_data)) + ")")

ax_a[1].set_ylim([0, 500])
ax_a[1].set_ylabel("Ylabel Test 2")
ax_a[1].set_title("Females (" + str(len(female_age_data)) + "/" + str(len(age_data)) + ")")

sns.catplot(x = "Active", hue = "Age", data = male_age_data, kind = "count", order = ["Inactive", "Active", "Very Active"], hue_order = ["<= 20", "21-30", "31-40", "41-50", "51-60", "61-70", "71-80"], ax = ax_a[0])

plt.close()

sns.catplot(x = "Active", hue = "Age", data = female_age_data, kind = "count", order = ["Inactive", "Active", "Very Active"], hue_order = ["<= 20", "21-30", "31-40", "41-50", "51-60", "61-70", "71-80"], ax = ax_a[1])

plt.close()


Here is the output,如您所见,y标签仍然是默认的“计数”。

在轴上设置标题可以很好地工作,我很好奇为什么它不影响y标签以及如何解决这个问题?

最佳答案

看来catplot会覆盖ylabel。尝试在catplot命令之后移动ylabel命令。

我能够重现您的问题并通过以这种方式更改命令顺序来解决它。

关于python - 当Catplot图是子图的一部分时,如何修改它的“ylabel”属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58309464/

10-12 21:15