程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python Pygal 模塊安裝和使用你get了嗎?

編輯:Python

Pygal 是另一個簡單易用的數據圖庫,它以面向對象的方式來創建各種數據圖,而且使用 Pygal 可以非常方便地生成各種格式的數據圖,包括 PNG、SVG 等。使用 Pygal 也可以生成 XML etree、HTML 表格(這些都需要安裝其他包)。

Pygal模塊安裝 (https://jq.qq.com/?_wv=1027&k=SFu7oNIZ)

安裝 Pygal 包與安裝其他 Python 包基本相同,同樣可以使用 pip 來安裝。

啟動命令行窗口,在命令行窗口中輸入如下命令:

pip install pygal

上面命令將會自動安裝 Pygal 包的最新版本。運行上面命令,可以看到程序先下載 Pygal 包,然後提示 Pygal 包安裝成功:

Installing collected packages:pygal
Successfully installed pygal-2.4.0

如果在命令行窗口中提示找不到 pip 命令,則也可以通過 python 命令運行 pip 模塊來安裝 Pygal。例如,通過如下命令來安裝 Pygal 包:

python -m pip install pygal

在成功安裝 Pygal 包之後,可以通過 pydoc 來查看 Pygal 包的文檔。在命令行窗口中輸入如下命令:

python -m pydoc -p 8899

運行上面命令之後,打開浏覽器查看 http://localhost:8899/ 頁面,可以在 Python 安裝目錄的 lib\site-packages 下看到 Pygal 包的文檔,如圖 1 所示。

單擊圖 1 所示頁面上的“pygal(package)”鏈接,將可以看到如圖 2 所示的 API 頁面。

通過圖 2 所示的頁面,即可查看 Pygal 包下的子模塊和類。

Pygal 數據圖入門 (https://jq.qq.com/?_wv=1027&k=SFu7oNIZ)

Pygal 使用面向對象的方式來生成數據圖。使用 Pygal 生成數據圖的步驟大致如下:

  1. 創建 Pygal 數據圖對象。Pygal 為不同的數據圖提供了不同的類,比如柱狀圖使用 pygal.Bar 類,餅圖使用 pygal.Pie 類,折線圖使用 pygal.Line 類,等等。

  2. 調用數據圖對象的 add() 方法添加數據。

  3. 調用 Config 對象的屬性配置數據圖。

  4. 調用數據圖對象的 render_to_xxx() 方法將數據圖渲染到指定的輸出節點(此處的輸出節點可以是 PNG 圖片、SVG 文件,也可以是其他節點)。

下面通過生成簡單的柱狀圖來演示如何使用 Pygal 生成數據圖,該柱狀圖展示了兩種教程從 2011 年到 2017 年的銷量統計數據:

上面程序中第 8 行代碼創建了 pygal.Bar 對象,該對象就代表一個柱狀圖。接下來的兩行代碼為 pygal.Bar 對象添加了兩組柱狀圖數據。

通過上面程序,實際上已經可以生成簡單的柱狀圖了。如果注釋掉後面對 pygal.Bar 對象的屬性賦值的代碼,運行該程序,將可以看到在程序當前目錄下生成了一個 fk_books.svg 文件,使用浏覽器查看該文件,可以看到如圖 3 所示的柱狀圖。

圖 4 支持交互的 SVG 數據圖

配置 Pygal 數據圖 (https://jq.qq.com/?_wv=1027&k=SFu7oNIZ)

正如從前面程序所看到的,使用 pygal.Bar 生成數據圖之後,程序可以通過對該對象的屬性賦值來配置數據圖。那麼,除設置上面這些簡單的屬性之外,是否還可以設置其他屬性呢?

答案是肯定的,查閱 http://localhost:8899/pygal.config.html 頁面(其中 8899 是運行 pydoc 的端口),可以看到 config 模塊的相關說明,該模塊包含了 BaseConfig、CommonConfig、Config、SerieConfig 等配置類,這些類所包含的屬性正是用於配置 Pygal 數據圖的。

下面程序示范了該頁面中部分配置屬性的作用:

運行上面程序,將會生成如圖 5 所示的數據圖。

圖 5 配置數據圖

對比圖 4 和圖 5 所示的數據圖,可以發現圖 5 所示的數據圖的 X 軸刻度值旋轉了45°,這是 x_label_rotation 屬性的作用;數據圖的圖例被顯示在底部,這是 legend_at_bottom 屬性的作用;數據圖不再顯示水平方向的網格錢,這是 show_y_guides 屬性的作用;數據圖顯示垂直方向的網格線,這是 show_x_guides 屬性的作用。

對於不同的數據圖,Pygal 支持大量對應的配置,具體可結合 http://localhost:8899/pygal.config.html 頁面給出的屬性進行設置、測試,此處不再一一講解。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved