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() 函数,使用 inner_radius 参数将内半径设置为0.4。内半径是图表中央的孔的大小。
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以不同的方式自定义甜甜圈图表,如改变图表的颜色、添加标题和标签、改变字体大小等。
示例
在下面的示例中,我们将添加标题和标签,并将自定义颜色添加到我们的图表中。我们可以使用颜色参数为每个数据点传递自定义颜色。借助标题参数,我们可以为图表添加标题。
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为环形图提供了多种自定义选项,包括样式参数,允许我们定义自定义颜色和其他样式属性。
示例
在下面的代码中,我们首先创建一个内半径为0.4、使用样式参数的自定义样式的环形图。样式参数的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库以及我们如何使用Pygal库在Python中绘制圆环图。Pygal提供了各种函数来以图表形式可视化数据。在本文中,我们只使用了圆环图,但我们还可以使用Pygal库绘制其他图表。