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_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** 对象。

  • 仪表盘图表的标题设置为 **'我的仪表盘图表'**。

  • 仪表盘图表的 **内半径** 设置为 **0.70**,这意味着图表中心将有一个 **圆形** 孔。

  • 图表的样式设置为默认的 Pygal 样式,字体大小为 **30**。

  • 图表的 **最小值** 和 **最大值** 分别设置为 **0** 和 **100**。

  • 向图表添加三个指标及其对应的值和标签。

  • 每个指标都有不同的颜色,由 add 方法中的 **fill 属性** 指定。

  • 使用 **formatter** 来格式化每个指标的值。在本例中,formatter 将值四舍五入到 **10 位小数**。

  • 向图表添加 **三个范围** 及其对应的值和标签。

  • 每个范围都有不同的 **颜色**,由 add 方法中的 fill 属性指定。

  • 使用 render to file 函数将图表保存为名为 **"gauge chart.svg"** 的 SVG 文件。

应用

可以使用仪表盘图表表示各种统计数据,例如完成率、朝着目标的进展和绩效指标。对于显示落在特定范围内的数据(例如百分比或分数),它们非常有用。能够快速轻松地突出显示需要改进的领域,使它们成为显示需要立即关注或采取行动的数据的有用工具。为了使数据更美观易懂,您可以使用 Python 函数中传递的参数自定义它们,以设置各种颜色和设计。

结论

仪表盘图表是显示落在给定范围或目标内的数据的绝佳方法。使用 Pygal 模块可以快速轻松地创建 Python 仪表盘图表。由于其简单的语法和自定义功能,它可用于各种应用,从简单的可视化数据到构建复杂的仪表板。必须记住,仪表盘图表的解释会因用户和环境而异。仪表盘图表必须以正确传达所需信息的方式使用,而不会误导或混淆受众。

更新于:2023年8月22日

455 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.