Pygal中的折线图


Pygal 在不同的 Python 数据可视化工具中脱颖而出。Pygal 生成的 SVG (可缩放矢量图形) 输出在优雅和自定义之间取得了极好的平衡。本文致力于构建 Pygal 中的折线图,并包含相关的示例以帮助理解。

本书主要重点是折线图的开发,但是 Pygal 还有许多其他功能和各种图表样式,可以满足各种数据可视化需求。

Pygal:快速回顾

Pygal 是一个开源的 Python 包,用于生成令人惊叹的 SVG 图表,这些图表既具有交互性又易于在浏览器中使用。使用 Pygal 图表,用户可以轻松更改设计、标签、工具提示和其他功能。

开始使用 Pygal 中的折线图

折线图是数据可视化中的一种常用工具,可用于比较多个类别、显示随时间变化的趋势等等。Pygal 创建折线图的方法简单且灵活。

安装

在创建折线图之前,请确保已安装 Pygal。否则,请使用 pip

pip install pygal

创建基本的折线图

在 Pygal 中,创建折线图需要初始化一个 Line 对象并用数据填充它。使用 add() 方法添加数据,该方法接受 y 值列表和数据的标签。默认情况下,x 值是索引值。

Pygal 中折线图的实际示例

现在让我们使用 Pygal 创建一些有用的折线图。

示例 1:具有一个数据系列的基本折线图

在我们的第一个示例中,我们将创建一个简单的折线图来显示一周的温度读数。

import pygal

# Create a new line chart
line_chart = pygal.Line()

# Set the title
line_chart.title = 'Weekly Temperature'

# Add data
line_chart.add('Temperature', [20, 22, 23.5, 25, 27, 29.5, 30])

# Render the chart
line_chart.render_to_file('line_chart.svg')

上面的代码使用 Line_chart.title 设置图表的标题,并使用 add() 方法添加数据。使用 render_to_file() 函数将图表保存到 SVG 文件。

示例 2:具有多个数据系列和自定义 X 轴标签的折线图

考虑一下我们想要比较两个城市之间每周温度趋势的情况。就是这样

import pygal

# Create a new line chart
line_chart = pygal.Line()

# Set the title
line_chart.title = 'Weekly Temperature Comparison'

# Set x-labels
line_chart.x_labels = map(str, range(1, 8))

# Add data
line_chart.add('London', [20, 22, 23.5, 25, 27, 29.5, 30])
line_chart.add('Paris', [23, 25, 27, 28, 30, 31, 33])

# Render the chart
line_chart.render_to_file('line_chart_comparison.svg')

此例中的 line_chart。使用 x_labels 函数指定表示一周中每天的 x 轴标签。正在添加另外两个数据系列,每个城市一个。

示例 3:包含空值的折线图

来自现实世界的数据集经常包含缺失值或空值。在折线图中,Pygal 会平滑地处理这些值。

import pygal

# Create a new line chart
line_chart = pygal.Line()

# Set the title
line_chart.title = 'Weekly Temperature (With Missing Data)'

# Set x-labels
line_chart.x_labels = map(str, range(1, 8))

# Add data
line_chart.add('Temperature', [20, None, 23.5, 25, None, 29.5, 30])

# Render the chart
line_chart.render_to_file('line_chart_missing_data.svg')

在此示例中,我们使用 None 表示缺失数据。在空值处,Pygal 会自动断开线条。

示例 4:样式自定义的折线图

也可以使用 Pygal 自定义图表样式。这是一个具有独特样式的折线图示例。

import pygal
from pygal.style import DarkStyle

# Create a new line chart with custom style
line_chart = pygal.Line(style=DarkStyle)

# Set the title
line_chart.title = 'Weekly Temperature (Dark Style)'

# Set x-labels
line_chart.x_labels = map(str, range(1, 8))

# Add data
line_chart.add('Temperature', [20, 22, 23.5, 25, 27, 29.5, 30])

# Render the chart
line_chart.render_to_file('line_chart_dark_style.svg')

在此示例中,我们通过从 pygal.style 导入 DarkStyle 来将其应用于我们的折线图。Pygal 提供各种预构建样式,您甚至可以创建自己的样式。

结论

折线图只是 Pygal 在 Python 中构建动态、可靠且美观的 SVG 图表方法的开始。您可以利用 Pygal 的功能设计各种交互式图表,以使您的数据栩栩如生。

虽然 Pygal 使创建折线图变得简单,但掌握数据可视化的艺术需要理解您的数据、辨别最适合您的数据的可视化表示类型以及学习如何使用它。

更新于:2023年7月18日

285 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告