如何在Seaborn中创建饼图?


饼图是数据可视化中最常用的图表类型之一。饼图是一个圆形图表,被分成多个扇形来表示数据集中不同类别的比例。

Seaborn是一个基于Matplotlib构建的Python数据可视化库,Matplotlib是另一个流行的Python可视化库。Seaborn提供了一个高级接口,用于创建各种统计图形,并且可以生成比Matplotlib更精致美观的可视化效果。

Matplotlib是一个用于在Python中创建基本图表和图形的低级库。它提供了创建更复杂可视化的基础模块,但与Seaborn相比,需要更多代码来生成可视化效果。Seaborn通过提供一组默认主题和美学来简化创建复杂可视化的过程。

Seaborn提供了一组函数,用于创建各种类型的统计图,例如散点图、线图和条形图。它还提供了一些函数来创建更专业的图表类型,例如热力图、小提琴图和因子图。这些图旨在突出数据中的关系和模式。

以下是使用Python安装Seaborn和Matplotlib的步骤:

  • 打开命令提示符或终端窗口。

  • 通过键入以下命令检查系统是否安装了Python:python --version

    如果安装了Python,则会显示版本号。如果未安装Python,请从官方网站下载并安装Python。

  • 使用pip安装Seaborn,键入以下命令:“pip3 install seaborn

  • 使用pip安装Matplotlib,键入以下命令:“pip3 install matplotlib

现在让我们关注示例。

示例

考虑以下代码。

# Importing libraries 
import matplotlib.pyplot as plt
import seaborn as sns

# Declaring data

# sample data, replace with your own
data = [76, 84, 62, 93, 79]

# labels for data, replace with your own
keys = ['Class A', 'Class B', 'Class C', 'Class D', 'Class E']

# Plotting data on chart
plt.pie(data, labels=keys, autopct='%.0f%%')

# Add title to the chart
plt.title('Distribution of grades across different classes')

# Displaying chart
plt.show() 

解释

  • 我们声明数据变量,其中包含每个类别的值列表,以及键变量,其中包含每个类别的标签。

  • 我们使用seaborn.color_palette()函数定义要用于图表的颜色调色板。

  • 我们使用plt.pie()函数将数据绘制到图表上。我们传入datakeyscoloursautopct参数来自定义图表的显示方式。autopct参数格式化图表上显示的百分比。

  • 我们使用plt.title()函数向图表添加标题。

  • 我们使用plt.show()函数显示图表。

输出

执行此代码后,将弹出一个新窗口,其中包含我们的饼图。

示例

让我们再举一个例子来更好地理解它的工作原理。考虑以下代码。

# Importing libraries
import matplotlib.pyplot as plt
import seaborn as sns

# Declaring data

# sample data, replace with your own
data = [60, 25, 35, 45, 55]

# labels for data, replace with your own
keys = ['Category A', 'Category B', 'Category C', 'Category D', 'Category E']

# Declaring exploding pie
explode = [0.1, 0, 0, 0, 0.1]

# Define Seaborn color palette to use
palette_color = sns.color_palette('dark')

# Plotting data on chart
plt.pie(data, labels=keys, colors=palette_color,
 explode=explode, autopct='%.0f%%')
 
# Add title to the chart
plt.title('Distribution of items across different categories')

# Displaying chart
plt.show() 

解释

  • 我们已更新数据变量,使其包含每个类别的新值集。您可以将其替换为您自己的数据。

  • 我们已更新键变量,使其包含每个类别的新标签。您可以将其替换为您自己的标签。

  • 我们声明了一个explode变量,它指定了饼图的每个扇形要分离多少。在此示例中,我们分离了第一个和最后一个扇形。您可以根据需要修改它。

  • 我们已更新Seaborn颜色调色板以使用深色方案。如果您愿意,可以选择不同的调色板。

  • 我们使用plt.title()函数向图表添加了标题。

  • 我们使用plt.show()函数显示了图表。

输出

运行此代码后,将弹出一个新窗口,其中包含我们的饼图。

结论

总之,使用Seaborn和Matplotlib创建饼图是一个简单的过程,只需几个步骤即可完成。通过导入必要的库、声明数据和定义颜色调色板,您可以轻松绘制一个饼图,显示不同类别中值的分布。

更新于:2023年4月20日

9000+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告