【发布时间】:2022-01-16 07:47:15
【问题描述】:
我有一个pandas.DataFrame,我想根据两列绘制一个图表:Age (int)、Survived (int - 0 或 1)。现在我有这样的东西:
这是我使用的代码:
class DataAnalyzer:
def _facet_grid(self, func, x: List[str], col: str = None, row: str = None) -> None:
g = sns.FacetGrid(self.train_data, col=col, row=row)
if func == sns.barplot:
g.map(func, *x, ci=None)
else:
g.map(func, *x)
g.add_legend()
plt.show()
def analyze(self) -> None:
# Check if survival rate is connected with Age
self._facet_grid(plt.hist, col='Survived', x=['Age'])
所以这显示在两个子图上。这很好,但对于特定年龄范围,更难看出Survived 列中0 与1 的记录数量之间的差异。
所以我想要这样的东西:
在这种情况下,您可以看到这种差异。有什么方法可以在seaborn 上进行操作(因为我可以轻松地在pandas.DataFrame 上操作)?如果可能的话,我不想使用香草matplotlib
【问题讨论】:
标签: python pandas matplotlib seaborn