天天看點

python 不引入畫圖_不用第三方庫,也能用 Python 作圖,效果還不錯

python 不引入畫圖_不用第三方庫,也能用 Python 作圖,效果還不錯

一提到用 Python 作圖,很多人第一個想到的庫肯定是 Matplotlib ,功能強大,但是相應地安裝所需要的依賴就多。有些開發者在自己的工作流中有簡單作圖的需求,但是又不希望引入依賴關系複雜的 Matplotlib,是以就有了 Chart。

Chart 是一個非常新的類庫,上線 Github 僅有 10 多天的時間,Star 數也不多。不過我覺得比較有意思,大家可以閱讀項目的源代碼,學習如何自己開發繪圖功能。

基本功能

Chart 目前僅支援三種圖表類型:柱形圖、散點圖和直方圖,圖表資料點可以使用自定義的标記。該庫的一個特點,在開頭我們也提到了,就是沒有任何的第三方依賴,完全是使用标準庫中的庫實作的。

柱形圖

柱形圖的建立,非常地簡單,傳入标簽和具體的值等資料,即可快速實作。下面是作者給出的示例:from chart import bar

x = [500, 200, 900, 400]

y = ['marc', 'mummify', 'chart', 'sausagelink']

bar(x, y)

柱形圖預設的資料點标記圖形,是 ▇,但是也支援自定義。marc: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇

mummify: ▇▇▇▇▇▇▇

chart: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇

sausagelink: ▇▇▇▇▇▇▇▇▇▇▇▇▇

比如說,可以改成:

python 不引入畫圖_不用第三方庫,也能用 Python 作圖,效果還不錯

從上面的示例,還可以看出, bar 函數還接受 pandas 資料框的列資料

直方圖

直方圖也很簡單,提供了 histogram 快捷函數。

python 不引入畫圖_不用第三方庫,也能用 Python 作圖,效果還不錯

散點圖

python 不引入畫圖_不用第三方庫,也能用 Python 作圖,效果還不錯

RangeScaler

以 bar 圖形為例,我們看到 x 軸的值相差可能會非常大:[500,200,900,400],示例中最大有 700 的內插補點。在顯示圖表的時候,我們知道螢幕的範圍是有限的,是以必須要限制柱形的最大高度。

給定數值範圍後,就需要對 x 軸的值進行預處理,将所有的資料統一到同一個範圍内,這也是整個庫最為重要、最為核心的部分了。

python 不引入畫圖_不用第三方庫,也能用 Python 作圖,效果還不錯

結語

開頭提到,這個庫的功能簡單,沒有任何依賴,是以代碼量很少,非常适合大家閱讀它的源代碼。

剛才用到的 bar、histogram、scatter 和 RangeScaler 等函數,建議收藏本文後,進入項目頁面檢視相關源代碼。