首页 > 解决方案 > X-ticks 与图中定义的 bin 不匹配

问题描述

我正在使用 Seaborn 的 FacetGrid 绘制多个带有预定义箱的 matplotlib.pyplot.hist 图。我希望它显示 X-tick 标签。

根据我阅读的内容,我正在尝试:

bins = [0,3,6,9,12,15,18,21,24,30,40,50,60,80]
g = sns.FacetGrid(allData, col="Survived", row="Sex")
g = g.map(plt.hist, "Age", bins=bins)
g.set_xticklabels(bins)

刻度与我预期的方式不匹配;我原以为每个条都是一个“bin”,所以第一个条是:[0-3],第二个:[3-6],等等。相反,每个刻度都跨越多个条。(正在使用泰坦尼克号数据集)。

我基本上希望每个标有年龄范围的条都代表。我不确定我要去哪里错,任何帮助将不胜感激。

以上输出的截图

标签: matplotlibseaborn

解决方案


这是一个示例(带有.set(xticks=bins)

bins = [0,3,6,9,12,15,18,21,24,30,40,50,60,80]
g = sns.FacetGrid(allData, col="Survived", row="Sex", size=8) 
g = (g.map(plt.hist, "Age", bins=bins)).set(xticks=bins)

示例_正确_xticks


推荐阅读