Pygal中的环形图


Pygal是一个用于创建图表和图形以进行数据可视化的Python库。环形图是一种中间带有孔的饼图。使用Pygal库可以轻松创建环形图。在本文中,我们将使用环形图来可视化示例数据。

安装Pygal库

在开始使用Pygal模块之前,我们需要使用Python包管理器在我们的系统中安装Pygal库。在您的终端或命令提示符中键入以下命令以安装Pygal库。

pip install pygal

算法

  • 导入Pygal模块。

  • 使用Pie()函数创建一个环形图,并根据需要指定内半径。

  • 使用add()方法向环形图添加数据,并为每个系列提供标签和数据点。

  • 通过设置属性(例如图表标题、字体大小以及使用style参数进行自定义颜色和悬停效果)来自定义图表。

  • 将图表渲染到文件或使用适当的方法(render_to_file()或render_in_browser())在输出中显示它。

创建环形图

安装Pygal后,我们可以使用Pygal的功能在Python中创建任何数据的环形图。

示例

在下面的示例中,我们正在为一个人饮食中来自不同宏量营养素的卡路里百分比创建一个环形图。我们使用**pygal.Pie()**函数将内半径设置为0.4,使用**inner_radius**参数。内半径是图表中间孔的大小。

import pygal

# Create a Donut chart
donut_chart = pygal.Pie(inner_radius=0.4)

# Add data to the Donut chart
donut_chart.add('Carbohydrates', 50)
donut_chart.add('Protein', 25)
donut_chart.add('Fat', 25)

# Render the chart
donut_chart.render_to_file('donut_chart.svg')

输出

自定义环形图

我们可以通过多种方式使用Pygal自定义我们的环形图,例如更改图表的颜色、添加标题和标签、更改字体大小等。

示例

在下面的示例中,我们将添加标题和标签,并将自定义颜色添加到我们的图表。我们可以使用color参数将自定义颜色传递到每个数据点。借助title参数,我们可以向图表添加标题。

import pygal

# Create a Donut chart
donut_chart = pygal.Pie(inner_radius=0.4)

# Add data to the Donut chart
donut_chart.add('Carbohydrates', 50, color='rgb(31, 119, 180)')
donut_chart.add('Protein', 25, color='rgb(255, 127, 14)')
donut_chart.add('Fat', 25, color='rgb(44, 160, 44)')

# Customize the Donut chart
donut_chart.title = 'Macronutrient Breakdown'
donut_chart.legend_at_bottom = True
donut_chart.legend_box_size = 16
donut_chart.print_values = True
donut_chart.value_font_size = 20
donut_chart.label_font_size = 18

# Render the chart
donut_chart.render_to_file('donut_chart.svg')

输出

创建具有多个系列的环形图

要创建具有多个系列的环形图,我们可以多次使用add()方法,并使用不同的数据点和标签。

示例

在上面的代码中,我们首先创建一个内半径为0.4的环形图。然后,我们使用add()方法向图表添加多个系列。每个系列都有自己的一组数据点和标签。最后,我们使用render_to_file()方法将图表渲染到文件。

import pygal

# Create a Donut chart with multiple series
donut_chart = pygal.Pie(inner_radius=0.4)

# Add data to the Donut chart
donut_chart.add('Carbohydrates', [50, 70, 80])
donut_chart.add('Protein', [25, 30, 35])
donut_chart.add('Fat', [25, 0, 15])

# Render the chart to a file
donut_chart.render_to_file('multiple_series_donut_chart.svg')

使用颜色和悬停效果自定义环形图

我们还可以通过更改颜色并显示悬停效果来自定义环形图。Pygal为环形图提供了几种自定义选项,包括style参数,该参数允许我们定义自定义颜色和其他样式属性。

示例

在下面的代码中,我们首先使用style参数创建一个内半径为0.4且具有自定义样式的环形图。style参数的colors属性允许我们为每个系列定义自定义颜色。我们还设置hover_fill属性来定义悬停效果的颜色,以及**hover_font_size、value_font_size和label_font_size**属性来设置图表中各种元素的字体大小。然后,我们像前面的示例一样使用**add()**方法向图表添加数据。最后,我们使用**render_to_file()**方法将图表渲染到文件。

import pygal

# Create a Donut chart with custom colors and hover effects
donut_chart = pygal.Pie(inner_radius=0.4, style=pygal.style.Style(
   colors=('#FFA07A', '#ADD8E6', '#90EE90'),
   hover_fill='#FFF',
   hover_font_size=20,
   value_font_size=25,
   label_font_size=25
))

# Add data to the Donut chart
donut_chart.add('Carbohydrates', 50)
donut_chart.add('Protein', 25)
donut_chart.add('Fat', 25)

# Render the chart to a file
donut_chart.render_to_file('customized_donut_chart.svg')

输出

结论

在本文中,我们讨论了Pygal库以及如何在Python中使用Pygal库绘制环形图。Pygal提供了各种函数以图表的形式可视化数据。我们只在本文中使用了环形图,但我们也可以使用Pygal库绘制其他图表。

更新于:2023年7月10日

97 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告