使用 Python Pygal 创建交互式图表
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.Line、pygal.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 创建视觉上吸引人的图形和图表所需的所有知识。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~