Python数据可视化: 使用Seaborn绘制年龄与中风关系图
Python数据可视化: 使用Seaborn绘制年龄与中风关系图
本教程将演示如何使用Python的Seaborn库创建一个信息丰富的图形,以可视化年龄与中风之间的关系。
我们将使用以下步骤创建可视化图形:
- 导入必要的库: 首先,导入
seaborn和matplotlib.pyplot库。2. 准备数据: 假设您有一个名为d的 Pandas DataFrame,其中包含 'age' 和 'stroke' 列。3. 创建图形: - 使用sns.set()函数设置 seaborn 的样式,包括使用 'ticks' 风格和 'SimHei' 字体,以便中文显示正常。 - 使用plt.subplots()创建一个画布和坐标轴对象,并设置图形的大小。 - 使用sns.histplot()函数绘制直方图,显示不同年龄段的中风和非中风人数分布。 - 使用element='step'参数将直方图的边框设为线型。 - 使用fill=True参数填充直方图的颜色。 - 使用kde=True参数显示核密度估计图。 - 使用palette参数指定调色板,例如['#00FF7F', '#FFD700']。 - 使用sns.kdeplot()函数分别绘制 'stroke' 值为 1(中风)和 0(无中风)的核密度估计图,以更平滑地显示年龄分布。 - 使用fill=True参数填充核密度图的颜色。 - 使用alpha参数设置透明度,例如0.3。 - 使用linewidth=0参数去除线的边界。 - 使用plt.title()函数设置标题,例如 '年龄概率密度分布'。 - 使用plt.xlabel()和plt.ylabel()函数设置坐标轴标签,例如 '年龄' 和 '频数'。 - 使用plt.legend()函数设置图例,例如title='Stroke', labels=['有中风', '无中风'],并将图例放置在右上角loc='upper right'。 - 使用sns.despine()函数去除坐标轴的上、右边界。4. 显示图形: 最后,使用plt.show()函数显示图形。
**代码示例:**pythonimport seaborn as snsimport matplotlib.pyplot as plt
sns.set(style='ticks', font='SimHei')fig, ax = plt.subplots(figsize=(8, 6))
sns.histplot(data=d, x='age', hue='stroke', element='step', fill=True, kde=True, palette=['#00FF7F', '#FFD700'])sns.kdeplot(data=d.loc[d['stroke'] == 1]['age'], color='#00FF7F', fill=True, alpha=0.3, linewidth=0)sns.kdeplot(data=d.loc[d['stroke'] == 0]['age'], color='#FFD700', fill=True, alpha=0.3, linewidth=0)
plt.title('年龄概率密度分布', fontsize=17)plt.xlabel('年龄')plt.ylabel('频数')plt.legend(title='Stroke', labels=['有中风', '无中风'], loc='upper right')sns.despine()
plt.show()
通过这段代码,您可以创建一个直观的年龄与中风关系图,并通过直方图和核密度估计图清晰地展示数据的分布情况。 这将有助于您更好地理解数据,并为您的研究或分析提供有价值的见解。
原文地址: https://www.cveoy.top/t/topic/RQW 著作权归作者所有。请勿转载和采集!