通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

python饼图如何绘制图例

python饼图如何绘制图例

绘制 Python 饼图并添加图例的方法

在 Python 中绘制饼图并添加图例的常见方法包括:使用 Matplotlib 库绘制饼图、使用 'plt.legend()' 函数添加图例、设置图例的位置和样式。以下是详细介绍。

使用 Matplotlib 库绘制饼图

Matplotlib 是一个非常流行的 Python 绘图库,支持多种类型的图形绘制。要绘制饼图,首先需要安装 Matplotlib 库,然后通过 'plt.pie()' 函数来绘制饼图。以下是一个简单的例子:

import matplotlib.pyplot as plt

数据

labels = ['A', 'B', 'C', 'D']

sizes = [15, 30, 45, 10]

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, labels=labels, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=140)

plt.axis('equal') # 保证饼图为圆形

plt.show()

添加图例

为了更好地描述饼图中的每个切片,可以使用 'plt.legend()' 函数来添加图例。图例可以放置在图形的不同位置,并且可以自定义其样式。以下是添加图例的示例:

import matplotlib.pyplot as plt

数据

labels = ['A', 'B', 'C', 'D']

sizes = [15, 30, 45, 10]

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=140)

添加图例

plt.legend(labels, loc='upper left', bbox_to_anchor=(1, 0.5))

plt.axis('equal') # 保证饼图为圆形

plt.show()

自定义图例样式

可以通过 'plt.legend()' 函数的参数来自定义图例的样式,例如设置字体大小、图例框线样式等。以下是示例:

import matplotlib.pyplot as plt

数据

labels = ['A', 'B', 'C', 'D']

sizes = [15, 30, 45, 10]

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=140)

添加图例并自定义样式

plt.legend(labels, loc='upper left', bbox_to_anchor=(1, 0.5), fontsize='x-large', frameon=True, shadow=True)

plt.axis('equal') # 保证饼图为圆形

plt.show()

一、Matplotlib 绘制饼图

Matplotlib 是 Python 中最常用的绘图库之一,可以方便地绘制各种类型的图形。要使用 Matplotlib 绘制饼图,我们首先需要导入 Matplotlib 库,并准备好数据。

import matplotlib.pyplot as plt

数据

labels = ['A', 'B', 'C', 'D']

sizes = [15, 30, 45, 10]

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, labels=labels, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=140)

plt.axis('equal') # 保证饼图为圆形

plt.show()

在上述代码中,'plt.pie()' 函数用来绘制饼图,其中 'sizes' 参数表示每个切片的大小,'explode' 参数用于突出显示某个切片,'labels' 参数用于指定每个切片的标签,'colors' 参数用于指定每个切片的颜色,'autopct' 参数用于显示百分比,'shadow' 参数用于添加阴影,'startangle' 参数用于设置起始角度。

绘制饼图的关键步骤

  1. 数据准备:准备好标签、大小和颜色等数据。
  2. 绘制饼图:使用 'plt.pie()' 函数绘制饼图。
  3. 调整图形:使用 'plt.axis()' 函数调整图形,例如保证饼图为圆形。

二、添加图例

图例可以帮助我们更好地理解饼图中的每个切片的含义。我们可以使用 'plt.legend()' 函数来添加图例。

import matplotlib.pyplot as plt

数据

labels = ['A', 'B', 'C', 'D']

sizes = [15, 30, 45, 10]

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=140)

添加图例

plt.legend(labels, loc='upper left', bbox_to_anchor=(1, 0.5))

plt.axis('equal') # 保证饼图为圆形

plt.show()

在上述代码中,'plt.legend()' 函数用于添加图例,其中 'labels' 参数表示图例的标签,'loc' 参数用于设置图例的位置,'bbox_to_anchor' 参数用于设置图例的锚点位置。

图例位置和样式

  1. 位置:'loc' 参数可以设置图例的位置,例如 'upper left', 'upper right', 'lower left', 'lower right' 等。
  2. 锚点:'bbox_to_anchor' 参数可以设置图例的锚点位置,通常与 'loc' 参数结合使用。

三、自定义图例样式

我们可以通过 'plt.legend()' 函数的参数来自定义图例的样式,例如设置字体大小、图例框线样式等。

import matplotlib.pyplot as plt

数据

labels = ['A', 'B', 'C', 'D']

sizes = [15, 30, 45, 10]

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=140)

添加图例并自定义样式

plt.legend(labels, loc='upper left', bbox_to_anchor=(1, 0.5), fontsize='x-large', frameon=True, shadow=True)

plt.axis('equal') # 保证饼图为圆形

plt.show()

在上述代码中,'fontsize' 参数用于设置图例的字体大小,'frameon' 参数用于显示图例框线,'shadow' 参数用于添加图例阴影。

图例样式参数

  1. 字体大小:'fontsize' 参数可以设置图例的字体大小,例如 'small', 'medium', 'large', 'x-large' 等。
  2. 图例框线:'frameon' 参数可以设置是否显示图例框线,'True' 表示显示,'False' 表示不显示。
  3. 图例阴影:'shadow' 参数可以设置是否添加图例阴影,'True' 表示添加,'False' 表示不添加。

四、综合实例

下面是一个综合实例,展示如何使用 Matplotlib 绘制饼图、添加图例并自定义图例样式:

import matplotlib.pyplot as plt

数据

labels = ['Python', 'Java', 'C++', 'Ruby']

sizes = [45, 30, 15, 10]

colors = ['blue', 'green', 'red', 'purple']

explode = (0.1, 0, 0, 0) # 突出显示第一个切片

绘制饼图

plt.pie(sizes, explode=explode, colors=colors,

autopct='%1.1f%%', shadow=True, startangle=90)

添加图例并自定义样式

plt.legend(labels, loc='upper left', bbox_to_anchor=(1, 0.5),

fontsize='large', frameon=True, shadow=True, title='Programming Languages')

plt.axis('equal') # 保证饼图为圆形

plt.title('Programming Language Usage')

plt.show()

在上述代码中,我们绘制了一个表示编程语言使用情况的饼图,并添加了自定义样式的图例。通过这种方式,可以更清晰地展示数据,帮助读者更好地理解图表内容。

总结

通过使用 Matplotlib 库,我们可以方便地绘制饼图并添加图例。通过 'plt.pie()' 函数,可以设置饼图的各个参数;通过 'plt.legend()' 函数,可以添加和自定义图例的样式。希望通过这篇文章,您能够掌握如何在 Python 中绘制饼图并添加图例。

相关问答FAQs:

如何在Python饼图中添加图例?
在绘制饼图时,可以使用plt.legend()函数来添加图例。首先,需要为每个数据点指定标签,然后在绘制饼图后调用该函数。示例代码如下:

import matplotlib.pyplot as plt

sizes = [15, 30, 45, 10]
labels = ['A', 'B', 'C', 'D']
plt.pie(sizes, labels=labels)
plt.legend(title="图例标题")
plt.show()

通过这种方式,图例将会显示在饼图旁边,帮助观众更好地理解各部分的含义。

饼图图例的自定义样式有哪些?
在Python中,使用plt.legend()时可以自定义图例的样式。可以调整图例的位置、边框、字体大小等。例如,loc参数可以设定图例的位置,fontsize可以修改字体大小,frameon可以控制是否显示边框。示例代码如下:

plt.legend(loc='upper right', fontsize='large', frameon=False)

通过这些参数,用户可以根据需求定制图例的外观,使其更具可读性。

饼图中如何显示百分比而不仅仅是数量?
在创建饼图时,除了显示数量外,还可以显示每个部分所占的百分比。这可以通过autopct参数实现,该参数接受一个格式字符串。例如,使用'%.1f%%'来显示一位小数的百分比。代码示例如下:

plt.pie(sizes, labels=labels, autopct='%.1f%%')

这样,饼图中的每个部分将同时显示名称和对应的百分比,增加了信息的直观性。

相关文章