python - Seaborn Catplot Violin 以负整数绘制年龄分布
问题描述
我正在尝试绘制有关幸存者、性别、阶级变量的年龄分布。
from matplotlib import pyplot
import seaborn
titanic= seaborn.load_dataset("titanic")
g = seaborn.catplot(data = titanic, x = 'survived', y = 'age',
hue = 'sex', split = True,
row='class', kind ='violin', legend = False)
结果如下图所示。
如果您看到我画了一个圆圈的第一个子图的年龄分布,您会看到它绘制在没有意义的负数上。
我怎么解决这个问题?年龄数据不包含任何负数。
解决方案
您圈出的特定小提琴图仅基于 3 个值:[2、25、50]。小提琴图绘制了使用这 3 个点获得的核密度估计。在您的情况下,KDE 有很大一部分低于零。
cut = 0
如果需要,您可以通过添加参数(参见violinplot)将小提琴图的绘图范围限制为观察数据的范围。
推荐阅读
- sql - Oracle SQL:获取一个表中的所有用户,而不是另一个表并加入第三个表
- api - whereHas 不适用于 NULL 值
- php - 如果找到字符串或添加到文件中,则返回消息
- android - 调用位于片段内的 Asynctask 时出现空指针异常
- c - 函数指针中的警告作为另一个函数的参数
- android - 如何将 Firebase 实时数据库回调与 RxJava2 结合使用
- apache-spark - SAP Vora 2.1 是否需要 Hadoop/Spark 集群?可以使用 PySpark 吗?
- java - 使用 Apache Camel 和 spring-ws 组件调用基于 SOAP 的服务
- css - 如何在不使用自动调整大小的情况下制作灵活的按钮
- c++ - 致命错误:iostream:没有这样的文件或目录#include