使用 Python Pygal 创建交互式图表

发布日期:2026-07-20 00:56:04  来源 : 杭州电子商务研究院    浏览量 :0
杭州电子商务研究院 发布日期:2026-07-20 00:56:04  
0

Pygal 简介

当谈到交互式图表和可以使用的模块时,您可能熟悉 Matplotlib、Seaborn 和 Bokeh,它们都允许交互并支持附加功能。

但是,Pygal 专门允许用户创建 SVG。除了 SVG 的可扩展性之外,您还可以在任何编辑器中编辑它们,并以非常高质量的分辨率打印它们。SVG 格式也很容易与 Flask 和 Django 集成。最后,您可以用很少的代码轻松、最少地创建折线图、条形图和雷达图(仅举几例),正如我们将在以下示例中看到的那样:

安装

打开终端

      $  pip install Pygal
    

额外帮助:安装和依赖项 -链接

使用 Pygal

步骤 1:导入

      import pygal
    

步骤 2:创建变量来存储图表

对于我们的第一个示例,我们将创建一个条形图。我们只需创建一个变量并将pygal.Bar()存储在其中。

      import pygal
b_chart = pygal.Bar()
    

您可以轻松使用pygal.Linepygal.pie或以下任一项

步骤 3:添加一些值

接下来我们需要开始创建图表。我将使用从游戏《命运 2》的游戏追踪器中抓取的数据。最终图表将实时显示,我将能够实时看到我的统计数据变化(希望如此)。



我们不要太过分。

简而言之,每次我参加 PvP 或 Crusible 比赛并淘汰对手或最终自己被淘汰时,KD(击杀/死亡比)都会发生变化。我只是想将自己与我的部落伙伴进行比较。

因此,首先我们需要一个图表标题。

      import pygal
b_chart = pygal.Bar()
b_chart.title = "Destiny Kill/Death Ratio"
    

现在我们可以开始添加数据了。我需要 3 个条形图,每个玩家一个。为了实现这一点,我需要使用add,然后添加标题和一些值。

      import pygal
b_chart = pygal.Bar()
b_chart.title = "Destiny Kill/Death Ratio"
b_chart.add("Dijiphos", [0.94])
b_chart.add("Punisherdonk", [1.05])
b_chart.add("Musclemuffins20", [1.10])
    

从技术上讲,我们无需进一步定制即可完成并渲染。为了快速渲染到浏览器,我们将使用render_in_browser()作为输出。

      import pygal
b_chart = pygal.Bar()
b_chart.title = "Destiny Kill/Death Ratio"
b_chart.add("Dijiphos", [0.94])
b_chart.add("Punisherdonk", [1.05])
b_chart.add("Musclemuffins20", [1.10])
b_chart.render_in_browser()
    

自定义图表

这很容易做到,实际上可以通过多种方式实现。首先,pygal.style导入style

      import pygal
from pygal.style import Style

b_chart = pygal.Bar()
b_chart.title = "Destiny Kill/Death Ratio"
b_chart.add("Dijiphos", [0.94])
b_chart.add("Punisherdonk", [1.05])
b_chart.add("Musclemuffins20", [1.10])
b_chart.render_in_browser()
    

您可以通过简单地添加以下内容来更改多个对象:

      import pygal
from pygal.style import Style
custom_style = Style(

b_chart = pygal.Bar()
b_chart.title = "Destiny Kill/Death Ratio"
b_chart.add("Dijiphos", [0.94])
b_chart.add("Punisherdonk", [1.05])
b_chart.add("Musclemuffins20", [1.10])
b_chart.render_in_browser()
    

请注意,我没有把括号括起来


属性和描述

plot_background图表区域背景的颜色background图像背景的颜色foreground | 主前景颜色colors系列颜色列表value_colors print_values 颜色列表 完整列表:https://www.pygal.org/en/stable/documentation/custom_styles.html


让我们使用对象颜色来更改条形的颜色不要忘记缩进并关闭最后的括号。

      import pygal
from pygal.style import Style
custom_style = Style(
  colors=('#E80080', '#404040', '#9BC850'))

b_chart = pygal.Bar()
b_chart.title = "Destiny Kill/Death Ratio"
b_chart.add("Dijiphos", [0.94])
b_chart.add("Punisherdonk", [1.05])
b_chart.add("Musclemuffins20", [1.10])
b_chart.render_in_browser()
    

现在,我们需要做的就是pygal.Bar()中传递style=custom_style以使其工作。

      import pygal
from pygal.style import Style
custom_style = Style(
  colors=('#E80080', '#404040', '#9BC850'))

b_chart = pygal.Bar(style=custom_style)
b_chart.title = "Destiny Kill/Death Ratio"
b_chart.add("Dijiphos", [0.94])
b_chart.add("Punisherdonk", [1.05])
b_chart.add("Musclemuffins20", [1.10])
b_chart.render_in_browser()
    


就此结束

就这么简单。我会查看Pygal 的文档以进行进一步的构建。但是,阅读本指南后,您应该掌握使用 Python Pygal 创建视觉上吸引人的图形和图表所需的所有知识。


感谢您阅读本篇有关使用 Pygal 模块的指南。在Twitter上打招呼

以上内容来自杭州电子商务研究院推送
分享到:

长按或扫码识别 分享给好友

长按或扫码识别 分享给好友
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据