pygal,一个神奇的 Python 库
Pygal 支持各种图表类型,包括折线图、条形图和雷达图。它适合那些想要以最少的配置快速、直接地创建静态图表的用户。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
Pygal是一个开源的Python库,用于使用简单直观的语法创建SVG图表。它注重易用性,旨在用最少的代码生成具有视觉吸引力的图表。
Pygal支持各种图表类型,包括折线图、条形图和雷达图。它适合那些想要以最少的配置快速、直接地创建静态图表的用户。

一、核心功能
SVG支持:生成的图表为矢量格式,可无损缩放,适合网页嵌入或高质量打印。丰富的图表类型:支持柱状图、折线图、饼图、散点图、雷达图、仪表盘图、树状图、金字塔图等 14 种以上图表类型。交互性:默认支持鼠标悬停显示数据标签、点击事件等,无需额外代码。个性化定制:可调整颜色、字体、轴标签、柱状图圆角、填充效果等。例如,通过Style类自定义配色二、安装及基本用法
1. 库安装
通过pip进行安装:
pip install pygal
2. 柱状图
此示例中,我们将创建一个显示公司季度销售额的柱状图
import pygalbar = pygal.Bar()bar.title = "销售额统计"bar.x_labels = ['一季度', '二季度', '三季度', '四季度']bar.add('2024年', [100, 200, 300, 400])bar.render_to_file('sales.svg') # 保存为 SVG 文件

3. 饼图
在此示例中,我们首先定义两个列表citys和users,分别包含城市名称及其总人数百分比。 我们创建一个饼图并将图表的标题设置为 "关注人数"。
import pygal# Datacitys = ['北京', '上海', '广州', '长沙', '重庆']users = [30, 25, 20, 15, 10]pie_chart = pygal.Pie()pie_chart.title = "关注人数"for i in range(len(citys)): pie_chart.add(citys[i], users[i]) # Render the chartpie_chart.render_to_file('follow.svg')

4. 仪表盘图(SolidGauge)
gauge = pygal.SolidGauge(half_pie=False, inner_radius=0.7)gauge.title = "任务完成度"gauge.add('进度', 80)gauge.render_to_file('proccess.svg')
参数:
half_pie 是否为半圆inner_raidus 内部半径
5. 雷达图(Radar)
适用于多维数据对比,如学科能力分析:
radar = pygal.Radar(fill=True)radar.x_labels = ['语文', '数学', '英语', '物理', '化学']radar.add('学生A', [90, 85, 95, 80, 75])radar.add('学生B', [85, 90, 95, 85, 75])radar.render_to_file('radar.svg')

三、高级功能
1. 默认悬停与点击交互示例
Pygal生成的SVG图表默认支持 悬停显示数值,无需额外代码。点击事件需结合前端JavaScript实现,但悬停效果开箱即用:
import pygal# 创建柱状图bar = pygal.Bar()bar.title = "产品销量(悬停查看数值)"bar.x_labels = ['苹果', '香蕉', '橘子', '葡萄']bar.add('2024年', [120, 90, 150, 80])bar.render_to_file('hover_demo.svg') # 保存为 SVG# 打开文件查看效果(鼠标悬停在柱子上即可显示数值)import webbrowserwebbrowser.open('hover_demo.svg')
鼠标悬停在柱状图上方时,自动显示对应数值标签(如 120、90 等)

2. 自定义颜色样式(使用 Style 类)
通过pygal.style.Style自定义图表颜色、字体等样式:
from pygal import Barfrom pygal.style import Style# 自定义样式:深色背景 + 渐变柱状图custom_style = Style( background='#2d2d2d', # 背景色 plot_background='#2d2d2d', # 绘图区背景 foreground='#dddddd', # 标签文字颜色 foreground_strnotallow='#ffffff', # 强调文字颜色(如标题) colors=('#ff4444', '#44ff44', '#4444ff'), # 数据序列颜色 opacity=0.8, # 透明度 opacity_hover=1.0, # 悬停时透明度 transitinotallow='400ms ease-out'# 动画过渡效果)# 应用自定义样式bar = Bar(style=custom_style)bar.title = "自定义颜色样式示例"bar.x_labels = ['红色', '绿色', '蓝色']bar.add('系列1', [30, 50, 20])bar.add('系列2', [20, 40, 60])bar.render_to_file('custom_style.svg')
效果:
图表背景为深灰色 (#2d2d2d),文字为浅灰色。数据系列颜色依次为红、绿、蓝,悬停时透明度增强。保存后打开 SVG 文件查看完整效果。
3. 动态修改单个数据点颜色
若需为特定数据点单独着色,可传递颜色数组:
bar = pygal.Bar()bar.add('销量', [ {'value': 120, 'color': '#FF0000'}, # 红色 {'value': 90, 'color': '#00FF00'}, # 绿色 {'value': 150, 'color': '#0000FF'}, # 蓝色 {'value': 80, 'color': '#FFD700'} # 金色])bar.render_to_file('custom_color_points.svg')

四、应用场景
数据分析:趋势分析(折线图)、分布对比(柱状图)。教育领域:学生成绩雷达图、学科能力分布。商业报告:销售额堆叠柱状图、市场份额饼图。科研可视化:实验数据散点图、多维数据雷达图。实时仪表盘:结合Flask/Django嵌入网页,动态更新数据。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
吉利汽车 3 月销量 233031 辆,与去年同期持平
汽车4月1日消息,吉利汽车刚刚公布了最新的 2026 年 3 月产销数据,3 月汽车总销量为 233031 辆,与去年同期持平。分品牌来看,吉利品牌 3 月销量 178287 辆同比下滑 7%,年初
华依科技:传感器IMU产品推出了针对机器人应用的型号,并成功实现了正式交付
有投资者向华依科技(688071 SH)提问,公司目前传感器IMU产品在人形机器人领域的业务发展和业务布局情况?另外公司IMU目前的出货和定点情况?4月1日,公司回答表示,公司目前正在积极布局人形机
2025年国家自然科学基金共资助各类项目5.88万项
新华社北京4月1日电(记者胡喆、温竞华)2025年,国家自然科学基金共资助各类科学基金项目5 88万项,资助经费370 69亿元。试点实施重大非共识项目,设立民营企业创新发展联合基金,在团队类项
加速推进“油电混共进全智”战略,一汽大众春季发布会五车连发
一汽大众日前发起强大的春季产品攻势,五款新车一起登场,加速推进“油电混共进全智”战略布局。3月31日,一汽-大众在厦门举办春季新品发布会,一口气推出五款新车,分别是全新速腾S、全新揽巡、迈腾35周年
哈啰单车被天津当地约谈:须立即停止所有超量投放行为
4月1日消息,4月1日,天津交通运输微信公众号发布了“关于约谈哈啰单车运营企业的公告”,全文如下——2026年3月31日,天津市交通运输委员会就互联网租赁自行车(以下简称共享单车)超量投放问题,对哈
- 日榜
- 周榜
- 月榜
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

