介绍
PDF 格式是与平台无关,它独立于底层操作系统和渲染引擎。事实上,PDF 是基于一种脚本语言——PostScript,它是第一个独立于设备的页面描述语言。
在本指南中,我们将使用 borb
—— 一个专门用于阅读、操作和生成 PDF 文档的 Python 库。它提供了一个低级模型(允许您访问精确的坐标和布局)和一个高级模型(您可以将边距、位置等精确计算委托给布局管理器) .
matplotlib 是一个数据可视化库,也是许多其他流行库(如 Seaborn)背后的引擎。
基于用于创建报告(通常包括图形)的常见 PDF 文档,我们将看看如何使用 borb 将 Matplotlib 图表集成到 PDF 文档中。
安装 borb
和 matplotlib
borb
可以从 GitHub 上的源代码下载,或通过 pip
安装:
$ pip install borb
matplotlib
也可以通过 pip
安装:
$ pip install matplotlib
用 Borb 在 PDF 文档中集成 Matplotlib 图表
在创建饼图等图表之前,我们将编写一个小的效用函数,该函数生成 N 种颜色,均匀分布在颜色光谱中。
每当我们需要创建绘图并为每个部分着色时,这将对我们有所帮助:
from borb.pdf.canvas.color.color import HSVColor, HexColor
from decimal import Decimal
import typing
def create_n_colors(n: int) -> typing.List[str]:
# The base color is borb-blue
base_hsv_color: HSVColor = HSVColor.from_rgb(HexColor("56cbf9"))
# This array comprehension creates n HSVColor objects, transforms then to RGB, and then returns their hex string
return [HSVColor(base_hsv_color.hue + Decimal(x / 360), Decimal(1), Decimal(1)).to_rgb().to_hex_string() for x in range(0, 360, int(360/n))]
HSL 和 HSV/HSB 是由计算机图形学研究人员在 1970 年代设计的,目的是更接近人类视觉感知色彩属性的方式。在这些模型中,每种色调的颜色都排列在一个径向切片中,围绕中性色的中心轴ÿ