偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

pygal,一個(gè)神奇的 Python 庫(kù)

開發(fā) 開源
Pygal 支持各種圖表類型,包括折線圖、條形圖和雷達(dá)圖。它適合那些想要以最少的配置快速、直接地創(chuàng)建靜態(tài)圖表的用戶。

Pygal 是一個(gè)開源的 Python 庫(kù),用于使用簡(jiǎn)單直觀的語(yǔ)法創(chuàng)建 SVG 圖表。它注重易用性,旨在用最少的代碼生成具有視覺吸引力的圖表。

Pygal 支持各種圖表類型,包括折線圖、條形圖和雷達(dá)圖。它適合那些想要以最少的配置快速、直接地創(chuàng)建靜態(tài)圖表的用戶。

一、核心功能

  • SVG 支持:生成的圖表為矢量格式,可無(wú)損縮放,適合網(wǎng)頁(yè)嵌入或高質(zhì)量打印。
  • 豐富的圖表類型:支持柱狀圖、折線圖、餅圖、散點(diǎn)圖、雷達(dá)圖、儀表盤圖、樹狀圖、金字塔圖等 14 種以上圖表類型。
  • 交互性:默認(rèn)支持鼠標(biāo)懸停顯示數(shù)據(jù)標(biāo)簽、點(diǎn)擊事件等,無(wú)需額外代碼。
  • 個(gè)性化定制:可調(diào)整顏色、字體、軸標(biāo)簽、柱狀圖圓角、填充效果等。例如,通過(guò) Style 類自定義配色

二、安裝及基本用法

1. 庫(kù)安裝

通過(guò)pip進(jìn)行安裝:

pip install pygal

2. 柱狀圖

此示例中,我們將創(chuàng)建一個(gè)顯示公司季度銷售額的柱狀圖

import pygal
bar = pygal.Bar()
bar.title = "銷售額統(tǒng)計(jì)"
bar.x_labels = ['一季度', '二季度', '三季度', '四季度']
bar.add('2023年', [100, 200, 300, 400])
bar.render_to_file('sales.svg')  # 保存為 SVG 文件

3. 餅圖

在此示例中,我們首先定義兩個(gè)列表 citys 和 users,分別包含城市名稱及其總?cè)藬?shù)百分比。 我們創(chuàng)建一個(gè)餅圖并將圖表的標(biāo)題設(shè)置為 "關(guān)注人數(shù)"。

import pygal

# Data
citys = ['北京', '上海', '廣州', '長(zhǎng)沙', '重慶']
users = [30, 25, 20, 15, 10]


pie_chart = pygal.Pie()
pie_chart.title = '關(guān)注人數(shù)'
for i in range(len(citys)):
    pie_chart.add(citys[i], users[i])
    
# Render the chart
pie_chart.render_to_file('follow.svg')

4. 儀表盤圖(SolidGauge)

gauge = pygal.SolidGauge(half_pie=False, inner_radius=0.7)
gauge.title = "任務(wù)完成度"
gauge.add('進(jìn)度', 80)
gauge.render_to_file('proccess.svg')

參數(shù):

  • half_pie 是否為半圓
  • inner_raidus 內(nèi)部半徑

5. 雷達(dá)圖(Radar)

適用于多維數(shù)據(jù)對(duì)比,如學(xué)科能力分析:

radar = pygal.Radar(fill=True)
radar.x_labels = ['語(yǔ)文', '數(shù)學(xué)', '英語(yǔ)', '物理', '化學(xué)']
radar.add('學(xué)生A', [90, 85, 95, 80, 75])
radar.add('學(xué)生B', [85, 90, 95, 85, 75])
radar.render_to_file('radar.svg')

三、高級(jí)功能

1. 默認(rèn)懸停與點(diǎn)擊交互示例

Pygal 生成的 SVG 圖表默認(rèn)支持 懸停顯示數(shù)值,無(wú)需額外代碼。點(diǎn)擊事件需結(jié)合前端 JavaScript 實(shí)現(xiàn),但懸停效果開箱即用:

import pygal

# 創(chuàng)建柱狀圖
bar = pygal.Bar()
bar.title = "產(chǎn)品銷量(懸停查看數(shù)值)"
bar.x_labels = ['蘋果', '香蕉', '橘子', '葡萄']
bar.add('2023年', [120, 90, 150, 80])
bar.render_to_file('hover_demo.svg')  # 保存為 SVG

# 打開文件查看效果(鼠標(biāo)懸停在柱子上即可顯示數(shù)值)
import webbrowser
webbrowser.open('hover_demo.svg')

鼠標(biāo)懸停在柱狀圖上方時(shí),自動(dòng)顯示對(duì)應(yīng)數(shù)值標(biāo)簽(如 120、90 等) 

2. 自定義顏色樣式(使用 Style 類)

通過(guò) pygal.style.Style 自定義圖表顏色、字體等樣式:

from pygal import Bar
from pygal.style import Style

# 自定義樣式:深色背景 + 漸變柱狀圖
custom_style = Style(
    background='#2d2d2d',        # 背景色
    plot_background='#2d2d2d',   # 繪圖區(qū)背景
    foreground='#dddddd',        # 標(biāo)簽文字顏色
    foreground_strnotallow='#ffffff', # 強(qiáng)調(diào)文字顏色(如標(biāo)題)
    colors=('#ff4444', '#44ff44', '#4444ff'),  # 數(shù)據(jù)序列顏色
    opacity=0.8,                # 透明度
    opacity_hover=1.0,          # 懸停時(shí)透明度
    transitinotallow='400ms ease-out'# 動(dòng)畫過(guò)渡效果
)

# 應(yīng)用自定義樣式
bar = Bar(style=custom_style)
bar.title = "自定義顏色樣式示例"
bar.x_labels = ['紅色', '綠色', '藍(lán)色']
bar.add('系列1', [30, 50, 20])
bar.add('系列2', [20, 40, 60])
bar.render_to_file('custom_style.svg')

效果:

  • 圖表背景為深灰色 (#2d2d2d),文字為淺灰色。
  • 數(shù)據(jù)系列顏色依次為紅、綠、藍(lán),懸停時(shí)透明度增強(qiáng)。
  • 保存后打開 SVG 文件查看完整效果。

3. 動(dòng)態(tài)修改單個(gè)數(shù)據(jù)點(diǎn)顏色

若需為特定數(shù)據(jù)點(diǎn)單獨(dú)著色,可傳遞顏色數(shù)組:

bar = pygal.Bar()
bar.add('銷量', [
    {'value': 120, 'color': '#FF0000'},  # 紅色
    {'value': 90,  'color': '#00FF00'},  # 綠色
    {'value': 150, 'color': '#0000FF'},  # 藍(lán)色
    {'value': 80,  'color': '#FFD700'}   # 金色
])
bar.render_to_file('custom_color_points.svg')

四、應(yīng)用場(chǎng)景

  • 數(shù)據(jù)分析:趨勢(shì)分析(折線圖)、分布對(duì)比(柱狀圖)。
  • 教育領(lǐng)域:學(xué)生成績(jī)雷達(dá)圖、學(xué)科能力分布。
  • 商業(yè)報(bào)告:銷售額堆疊柱狀圖、市場(chǎng)份額餅圖。
  • 科研可視化:實(shí)驗(yàn)數(shù)據(jù)散點(diǎn)圖、多維數(shù)據(jù)雷達(dá)圖。
  • 實(shí)時(shí)儀表盤:結(jié)合 Flask/Django 嵌入網(wǎng)頁(yè),動(dòng)態(tài)更新數(shù)據(jù)。
責(zé)任編輯:趙寧寧 來(lái)源: 程序員老朱
相關(guān)推薦

2025-06-04 08:05:00

Peewee?數(shù)據(jù)庫(kù)開發(fā)

2025-06-09 10:15:00

FastAPIPython庫(kù)

2025-06-05 08:10:00

PyneconePythonWeb 應(yīng)用

2025-05-29 10:00:00

ZODBPython數(shù)據(jù)庫(kù)

2025-06-04 10:05:00

Gooey開源Python

2025-05-27 08:00:00

Pythonemoji庫(kù)

2025-06-05 10:00:00

GensimPython庫(kù)

2025-06-09 07:25:00

filelock庫(kù)數(shù)據(jù)庫(kù)

2024-04-01 05:00:00

GUIpythonDearPyGui

2025-05-28 08:00:00

Pythonpython-jos開發(fā)

2025-06-03 08:30:00

PotteryRedisPython

2014-04-23 11:11:27

Linux下載管理器uGet

2025-06-03 10:00:00

LiteLLMPython庫(kù)

2020-06-08 07:52:31

Python開發(fā)工具

2023-01-16 18:16:49

CinnamonLinux桌面環(huán)境

2011-11-02 12:38:12

華為華為ARG3

2022-07-21 09:50:20

Python日期庫(kù)pendulum

2024-07-02 11:29:28

Typer庫(kù)Python命令

2023-11-28 14:22:54

Python音頻

2024-04-10 12:39:08

機(jī)器學(xué)習(xí)庫(kù)python
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)