成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

pygal,一個神奇的 Python 庫

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

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

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

一、核心功能

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

二、安裝及基本用法

1. 庫安裝

通過pip進行安裝:

pip install pygal

2. 柱狀圖

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

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

3. 餅圖

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

import pygal

# Data
citys = ['北京', '上海', '廣州', '長沙', '重慶']
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('進度', 80)
gauge.render_to_file('proccess.svg')

參數(shù):

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

5. 雷達圖(Radar)

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

radar = pygal.Radar(fill=True)
radar.x_labels = ['語文', '數(shù)學', '英語', '物理', '化學']
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 圖表默認支持 懸停顯示數(shù)值,無需額外代碼。點擊事件需結(jié)合前端 JavaScript 實現(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

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

鼠標懸停在柱狀圖上方時,自動顯示對應數(shù)值標簽(如 120、90 等) 

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

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

from pygal import Bar
from pygal.style import Style

# 自定義樣式:深色背景 + 漸變柱狀圖
custom_style = Style(
    background='#2d2d2d',        # 背景色
    plot_background='#2d2d2d',   # 繪圖區(qū)背景
    foreground='#dddddd',        # 標簽文字顏色
    foreground_strnotallow='#ffffff', # 強調(diào)文字顏色(如標題)
    colors=('#ff4444', '#44ff44', '#4444ff'),  # 數(shù)據(jù)序列顏色
    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),文字為淺灰色。
  • 數(shù)據(jù)系列顏色依次為紅、綠、藍,懸停時透明度增強。
  • 保存后打開 SVG 文件查看完整效果。

3. 動態(tài)修改單個數(shù)據(jù)點顏色

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

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')

四、應用場景

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

2025-06-04 08:05:00

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

2025-06-09 10:15:00

FastAPIPython

2025-06-05 08:10:00

PyneconePythonWeb 應用

2025-05-27 08:00:00

Pythonemoji

2025-06-05 10:00:00

GensimPython

2025-05-29 10:00:00

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

2025-06-09 07:25:00

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

2025-06-04 10:05:00

Gooey開源Python

2024-04-01 05:00:00

GUIpythonDearPyGui

2025-05-28 08:00:00

Pythonpython-jos開發(fā)

2025-06-03 10:00:00

LiteLLMPython

2025-06-03 08:30:00

PotteryRedisPython

2014-04-23 11:11:27

Linux下載管理器uGet

2020-06-08 07:52:31

Python開發(fā)工具

2023-01-16 18:16:49

CinnamonLinux桌面環(huán)境

2011-11-02 12:38:12

華為華為ARG3

2023-11-28 14:22:54

Python音頻

2022-07-21 09:50:20

Python日期庫pendulum

2024-07-02 11:29:28

Typer庫Python命令

2021-05-19 22:23:56

PythonJavaScript數(shù)據(jù)
點贊
收藏

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

主站蜘蛛池模板: 色综久久 | 成人做爰www免费看视频网站 | 中国黄色在线视频 | 无毛av | 亚洲成人精品久久久 | 91在线免费观看网站 | 精品国产一区二区三区性色av | 亚洲欧美视频一区 | 亚洲在线一区 | 天堂久 | 偷拍亚洲色图 | 福利网址 | 91精品国产乱码久久蜜臀 | 日韩欧美大片 | 国产区视频在线观看 | 久久视频一区 | a级在线观看 | 国产精品久久久久久久久 | 97超级碰碰 | 精品国产一区二区三区免费 | 91精品国产麻豆 | 9久久精品 | 一级全黄视频 | 亚洲精品久久久久久国产精华液 | 久久99精品国产 | 亚洲天堂一区二区 | 亚洲福利| 国产福利视频 | 国产精品日韩欧美一区二区三区 | 国产成人网 | 一级国产精品一级国产精品片 | www.夜夜骑.com | 另类 综合 日韩 欧美 亚洲 | 国产精品自产拍在线观看蜜 | 精品国产欧美一区二区三区成人 | 欧美国产视频 | 久久精品亚洲精品国产欧美 | 国产国产精品 | 精品国产乱码久久久久久丨区2区 | 色综合天天网 | 婷婷激情五月网 |