![](https://csdnimg.cn/release/download_crawler_static/89213829/bg1.jpg)
信息与电脑
Information & Computer
2023 年第 15 期
计算机工程应用技术
基于 Matplotlib 的高互动性可视化系统设计与实现
陆 凡
(南京工业大学,江苏 南京 214000)
摘 要:
为详尽地呈现可视化设置并在可视化之前对数据进行初步预处理,文章设计基于 Matplotlib 的高互
动性可视化系统。该系统利用 Matplotlib 和 Pygal 组件对用户提供的逗号分隔值(Comma Separated Values,
CSV)文件进行可视化操作,可以自动生成图表,允许用户使用基础的 GitHub 网络获取数据。
关键词:
Matplotlib;Pygal;互动性;可视化
中图分类
号:TP391 文献标识码:A 文章编号:1003-9767(2023)15-017-04
Design and Implementation of A Visualization System Based on Matplotlib
LU Fan
(Nanjing Tech University, Nanjing Jiangsu 214000, China)
Abstract:
To present the visualization settings in detail and preprocess the data before visualization, the article designs
a highly interactive visualization system based on Matplotlib. The system uses Matplotlib and Pygal components to visualize
the Comma Separated Values (CSV) files provided by users, which can automatically generate charts and allow users to use the
basic GitHub network to obtain data.
Keywords:
Matplotlib; Pygal; interactivity; visualization
数据可视化指通过各种各样的图形来体现数据的相
关性、对比性和变化趋势等内容,用户可以通过这些图
形提供的内容进行进一步分析和应用
[1-2]
。文章设计的
系统能让用户选择自己的逗号分隔值(Comma Separated
Values,CSV)文件,并搭建 PyQt GUI 界面对具体功能
代码进行封装,使使用者可以通过 Qt 界面上的选项直
接获得具有特殊坐标轴、字体和颜色的目标图表并保存
到本地。
1.1 Matplotlib
Matplotlib 是一个用Python 语言编写的二维图形库,
它充分利用了 Python 数值计算软件包的矩阵运算能力,
具有良好的作图性能。Matplotlib 是一个 2D 绘图库,它
以各种硬拷贝格式和跨平台的交互式环境生成出版质量
级别的图形
[3-4]
。
1.2 Pygal
Pygal 是一种 Python 制表工具,提供了 14 种图表类
型。用 Pygal 生成的图表往往具有更强的鼠标交互性,
可以在一张图表中容纳更多对具体细节的描绘信息。
Pygal 生成图表一般以可缩放矢量图形(Scalable Vector
Graphics,SVG)格式存储,可用系统默认浏览器访问。
2.1 系统架构
系统流程如图 1 所示。主界面作为所有功能的导航
界面,显示“载入 CSV 文件”“显示图表代码”“调用
应用程序编程接口(Application Programming Interface,
API)”3 项功能的跳转按钮。数据预处理的代码也放在
主界面程序中,其他页面负责收集数据并回传至主界面。
同时,主界面还具有显示错误信息、保存图片、重置图
片的功能。主界面的用户界面(User Interface,UI)如
图 2 所示。
收稿日期:
2023-06-07
作者简介:
陆凡 (2000—),男,江苏苏州人,本科,助理工程师。研究方向:软件开发、大数据分析。