Python pygal中的仪表图
仪表图是一种用于以圆形格式表示一个值或一系列值的图表。这些图表类似于汽车上的速度表,其中指针指向仪表上的特定值。仪表图可以用于可视化与绩效指标相关的数据,例如完成率或进展。在本博文中,我们将探讨如何使用Python中的pygal库创建仪表图。
安装和语法
要使用pygal,首先需要使用软件包管理器PIP进行安装。
pip install pygal
使用pygal创建基本的仪表图表,可以使用以下语法-
import pygal
# create a gauge chart
gauge_chart = pygal.Gauge()
# add data to the chart
gauge_chart.add('Label', value)
# render the chart
gauge_chart.render_to_file('chart.svg')
步骤
- 导入Pygal库并创建一个 SolidGauge 对象。
-
设置仪表图的标题和内部半径。
-
设置图表的 最小值 和 最大值 。
-
使用 add() 方法向图表添加数据和范围。
-
使用字典来定义每个数据点或范围,并设置其属性。
-
使用 render_to_file() 或 render_in_browser() 方法,可以将图表保存为文件或在终端中显示。
示例
这是一个简单的示例,创建一个仪表图来表示完成百分比 –
import pygal
#create a gauge chart
gauge_chart = pygal.Gauge()
#add data to the chart
gauge_chart.add('Completion', 75)
#render the chart
gauge_chart.render_to_file('completion_chart.svg')
输出
在这个例子中,我们首先导入pygal库。然后我们使用 pygal.Gauge() 函数创建一个新的Gauge图表对象。我们使用 gauge_chart.add() 函数向图表添加数据,该函数接受一个标签和一个值作为参数。最后,我们使用 gauge_chart.render_to_file() 函数将图表渲染到文件中。
一个包含多个仪表的复杂例子
import pygal
# create a gauge chart with custom colors and multiple indicators
gauge_chart = pygal.SolidGauge(
title='My Gauge Chart',
inner_radius=0.70,
style=pygal.style.styles['default'](value_font_size=30)
)
# set the min and max values for the chart
gauge_chart.min_value = 0
gauge_chart.max_value = 100
# add the first indicator
gauge_chart.add('Indicator 1', [{'value': 50, 'label': 'First'}], formatter=lambda x: '{:.10g}'.format(x), fill={'start_color': '#00FF00', 'end_color': '#00FF00'})
# add the second indicator
gauge_chart.add('Indicator 2', [{'value': 75, 'label': 'Second'}], formatter=lambda x: '{:.10g}'.format(x), fill={'start_color': '#FFA500', 'end_color': '#FFA500'})
# add the third indicator
gauge_chart.add('Indicator 3', [{'value': 100, 'label': 'Third'}], formatter=lambda x: '{:.10g}'.format(x), fill={'start_color': '#FF0000', 'end_color': '#FF0000'})
# add the ranges for the gauge chart
gauge_chart.add('Low Range', [{'value': 0, 'label': '0%'}, {'value': 30, 'label': '30%'}], fill={'start_color': '#00FF00', 'end_color': '#00FF00'})
gauge_chart.add('Medium Range', [{'value': 30, 'label': '30%'}, {'value': 70, 'label': '70%'}], fill={'start_color': '#FFA500', 'end_color': '#FFA500'})
gauge_chart.add('High Range', [{'value': 70, 'label': '70%'}, {'value': 100, 'label': '100%'}], fill={'start_color': '#FF0000', 'end_color': '#FF0000'})
# render the chart
gauge_chart.render_to_file('gauge_chart.svg')
输出
- 代码导入 Pygal 库并创建一个新的 SolidGauge 对象。
-
仪表图表的标题设置为 ‘My Gauge Chart’ 。
-
仪表图表的 内半径 设置为 0.70 ,这意味着图表中心会有一个 圆形 的孔。
-
图表的样式设置为默认的Pygal样式,字体大小为 30 。
-
图表的 最小值 和 最大值 分别设置为 0 和 100 。
-
添加了三个带有其对应值和标签的指示器到图表中。
-
每个指示器都有不同的颜色,由add方法中的 fill属性 指定。
-
使用 格式化器 来格式化每个指示器的值。在这种情况下,格式化器将值舍入到 10个小数位 。
-
添加了 三个范围 到图表中,带有其对应的值和标签。
-
每个范围都有不同的 颜色 ,由add方法中的fill属性指定。
-
使用render to file函数将图表保存为名为 “gauge chart.svg” 的SVG文件。
应用
广泛的统计数据,如完成率、朝着目标的前进、绩效指标等,可以用仪表图表来表示。对于显示落在一定范围内的数据,如百分比或得分,它们非常有帮助。能够快速简便地突出需要改进的领域,使其在显示需要立即关注或采取行动的数据时非常有用。为了使数据更美观易懂,可以使用传递给Python函数的参数来自定义它们的颜色和设计。
结论
一个很棒的展示给定范围内或目标范围内数据的方法是使用仪表图。使用Pygal模块可以快速简便地创建Python仪表图。由于其简单的语法和自定义能力,它可以用于各种应用,从简单的数据可视化到复杂的仪表板构建。但是需要记住,仪表图的解释可能因用户和环境而异。必须正确使用仪表图,以确切地传达所需的信息,而不会误导或困惑观众。