自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Pygal在Python中設(shè)置數(shù)據(jù)圖的樣式

開發(fā) 后端
Python 有很多可以將數(shù)據(jù)可視化的庫。其中一個(gè)互動(dòng)性較強(qiáng)的庫是 Pygal,我認(rèn)為這個(gè)庫適合喜歡漂亮事物的人。它可以生成用戶可以與之交互的漂亮的 SVG(可縮放矢量圖形)文件。

 

[[331815]]

介紹一種更時(shí)尚的 Python 繪圖庫。

Python 有很多可以將數(shù)據(jù)可視化的庫。其中一個(gè)互動(dòng)性較強(qiáng)的庫是 Pygal,我認(rèn)為這個(gè)庫適合喜歡漂亮事物的人。它可以生成用戶可以與之交互的漂亮的 SVG(可縮放矢量圖形)文件。SVG 是交互式圖形的標(biāo)準(zhǔn)格式,僅使用幾行 Python 就可以帶來豐富的用戶體驗(yàn)。

使用 Pygal 進(jìn)行時(shí)尚的 Python 繪圖

在本文中,我們要重新創(chuàng)建多柱狀圖,用來表示 1966 年至 2020 年英國大選的結(jié)果:

 

Pygal plot

在繼續(xù)之前,請注意你可能需要調(diào)整 Python 環(huán)境以使此代碼運(yùn)行,包括:

  • 運(yùn)行最新版本的 Python(Linux、Mac 和 Windows 的說明)
  • 確認(rèn)你運(yùn)行的是與這些庫兼容的 Python 版本

數(shù)據(jù)可在線獲得,并可使用 pandas 導(dǎo)入:

  1. import pandas as pd
  2. df = pd.read_csv('https://anvil.works/blog/img/plotting-in-python/uk-election-results.csv')

現(xiàn)在我們可以繼續(xù)進(jìn)行了。。數(shù)據(jù)如下所示:

  1.         year  conservative  labour  liberal  others
  2. 0       1966           253     364       12       1
  3. 1       1970           330     287        6       7
  4. 2   Feb 1974           297     301       14      18
  5. ..       ...           ...     ...      ...     ...
  6. 12      2015           330     232        8      80
  7. 13      2017           317     262       12      59
  8. 14      2019           365     202       11      72

在 Pygal 中進(jìn)行繪制會(huì)以一種易于閱讀的方式顯示。首先,我們以一種簡化柱狀圖定義的方式定義樣式對象。然后我們將自定義樣式以及其他元數(shù)據(jù)傳遞給 Bar 對象:

  1. import pygal
  2. from pygal.style import Style
  3.  
  4. custom_style = Style(
  5. colors=('#0343df', '#e50000', '#ffff14', '#929591'),
  6. font_family='Roboto,Helvetica,Arial,sans-serif',
  7. background='transparent',
  8. label_font_size=14,
  9. )
  10.  
  11. c = pygal.Bar(
  12. title="UK Election Results",
  13. style=custom_style,
  14. y_title='Seats',
  15. width=1200,
  16. x_label_rotation=270,
  17. )

然后,我們將數(shù)據(jù)添加到 Bar 對象中:

  1. c.add('Conservative', df['conservative'])
  2. c.add('Labour', df['labour'])
  3. c.add('Liberal', df['liberal'])
  4. c.add('Others', df['others'])
  5.  
  6. c.x_labels = df['year']

最后,我們將圖另存為 SVG 文件:

  1. c.render_to_file('pygal.svg')

結(jié)果是一個(gè)交互式 SVG 圖,你可以在此 gif 中看到:

 

The Python pygal library can generate rich SVG files as seen here

精美簡單,并且效果漂亮。

總結(jié)

Python 中的某些繪圖工具需要非常詳細(xì)地構(gòu)建每個(gè)對象,而 Pygal 從一開始就為你提供這些。如果你手邊有數(shù)據(jù)并且想做一個(gè)干凈、漂亮、簡單的交互式圖表,請嘗試一下 Pygal。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-02-20 09:14:35

PythonPygal可視化

2011-06-03 14:04:11

Android

2017-12-13 10:08:26

大數(shù)據(jù)圖數(shù)據(jù)推理數(shù)據(jù)科學(xué)

2018-12-24 12:40:03

大數(shù)據(jù)IT互聯(lián)網(wǎng)

2009-03-05 10:10:52

餅圖數(shù)據(jù)庫JSP

2021-03-15 06:59:34

Python幣價(jià)樹形圖

2021-11-18 15:54:17

FreeDOSLinux

2021-09-06 09:05:58

kafkaZookeeper數(shù)據(jù)

2010-03-11 15:39:01

Python編程語言

2010-03-10 11:11:16

Python編程

2010-07-27 13:05:12

Flex

2025-01-15 07:52:53

2010-08-09 15:19:29

Flex滾動(dòng)條

2021-12-04 23:00:01

人工智能數(shù)據(jù)數(shù)字化轉(zhuǎn)型

2020-10-25 11:33:57

PythonKNN算法

2021-03-20 22:00:00

FreeDOS開源

2021-03-25 09:58:22

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-01-07 09:35:49

Pythontqdm進(jìn)度

2020-03-12 13:00:36

Python斷點(diǎn)設(shè)置編程語言

2010-03-09 16:56:08

Python數(shù)據(jù)類型
點(diǎn)贊
收藏

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