📜  在Python中使用 seaborn 的条形图(1)

📅  最后修改于: 2023-12-03 15:37:37.777000             🧑  作者: Mango

在Python中使用seaborn的条形图

seaborn是一个基于matplotlib的Python数据可视化库,旨在提供更高层次的界面,使可视化变得更加简单易行。条形图是一种基于柱状图的图表类型,可以很好地显示分类数据。在这篇文章中,我们将介绍如何使用seaborn在Python中创建条形图。

首先,让我们来安装所需的库。打开终端,输入以下命令:

pip install seaborn matplotlib pandas

接下来,我们需要导入所需的库。在Jupyter Notebook或Python文件中,我们可以使用以下代码:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

然后,我们需要加载示例数据集。在这个例子中,我们将使用seaborn提供的titanic数据集。在Jupyter Notebook或Python文件中,我们可以使用以下代码:

titanic = sns.load_dataset('titanic')
titanic.head()

这将返回以下数据:

| |survived |pclass |sex |age |sibsp |parch |fare |embarked |class |who |adult_male |deck | embark_town | alive |alone | |---|--------|----------|----|----|-----|------|--------|---------|--------|-------|-----------|------|-------------|-------|------| | 0 |0 |3 |male| 22.|1 |0 |7.25 |S |Third |man |True |NaN |Southampton | no | False| | 1 |1 |1 |female|38.|1 |0 |71.2833 |C |First |woman |False |C |Cherbourg | yes | False| | 2 |1 |3 |female|26.|0 |0 |7.925 |S |Third |woman |False |NaN |Southampton | yes | True | | 3 |1 |1 |female|35.|1 |0 |53.1 |S |First |woman |False |C |Southampton | yes | False| | 4 |0 |3 |male| 35.|0 |0 |8.05 |S |Third |man |True |NaN |Southampton | no | True |

数据集包含有关泰坦尼克号上的乘客和船员的信息,包括存活情况、性别、年龄等。

接下来,我们将创建一个简单的条形图来显示不同性别的乘客数量。在Jupyter Notebook或Python文件中,我们可以使用以下代码:

sns.countplot(x='sex', data=titanic)
plt.show()

这将返回以下图表:

titanic_sex_countplot

我们可以看到,有更多的男性比女性在泰坦尼克号上乘坐。

现在,让我们为不同性别的乘客显示生存情况。在Jupyter Notebook或Python文件中,我们可以使用以下代码:

sns.countplot(x='survived', hue='sex', data=titanic)
plt.show()

这将返回以下图表:

titanic_survived_sex_countplot

我们可以看到,更多的女性生还而更多的男性遇难。

如果你想要调整图表的样式,seaborn提供了一些默认的主题和调色板,你可以使用它们来改变样式。例如,让我们使用darkgrid主题,bright调色板。在Jupyter Notebook或Python文件中,我们可以使用以下代码:

sns.set_style("darkgrid")
sns.set_palette("bright")
sns.countplot(x='survived', hue='sex', data=titanic)
plt.show()

这将返回以下图表:

titanic_survived_sex_countplot_theme_palette

作为另一种形式的条形图,我们也可以使用seaborn的堆叠条形图来比较不同性别和等级的旅客幸存率。在Jupyter Notebook或Python文件中,我们可以使用以下代码:

sns.catplot(x='sex', y='survived', hue='class', kind='bar', data=titanic)
plt.show()

这将返回以下图表:

titanic_sex_class_survival_rate_catplot

在堆叠条形图中,更高的条形表示更高的存活率。我们可以看到,第一等级的女性有最高的生存率,第三等级的男性有最低的生存率。

这就是如何使用seaborn在Python中创建条形图。可以试试其他类型的seaborn图形,探索可以如何可视化数据,使其更加有意义。如果你在实践中遇到了问题,可以查看seaborn官方文档以获得更多的信息。