這個折線圖,驚艷到我了!
點擊上方藍(lán)色字體,關(guān)注程序員zhenguo

展現(xiàn)多個系列的數(shù)據(jù),一般習(xí)慣使用柱狀圖或折線圖。本文使用個人比較喜愛的Pyecharts庫,繪制呈現(xiàn)多個系列數(shù)據(jù)的普通折現(xiàn)圖(line chart)、堆疊圖(stack chart)、面積堆疊圖(stack area chart)。
環(huán)境準(zhǔn)備
首先安裝Pyecharts,我使用的是最新版本:1.9.1,團(tuán)隊介紹會在明年發(fā)布2.0版本。
其次,導(dǎo)入以下模塊:
import?pyecharts.options?as?opts
from?pyecharts.charts?import?Line
from?pyecharts.commons.utils?import?JsCode
options和Line都比較常見,JsCode是Pyecharts直接與echarts轉(zhuǎn)化的中間對象,我比較常用它來創(chuàng)建顏色漸變的效果,讓圖形更富有表現(xiàn)力。
數(shù)據(jù)
為了書寫方便,數(shù)據(jù)選取盡量簡單,如下一個x軸,三個系列:
x_data?=?["周一",?"周二",?"周三",?"周四",?"周五",?"周六",?"周日"]
y_data1?=?[140,?232,?101,?264,?90,?340,?250]
y_data2?=?[120,?282,?111,?234,?220,?340,?310]
y_data3?=?[320,?132,?201,?334,?190,?130,?220]
普通折現(xiàn)圖
我們先來看看繪制結(jié)果,如下所示,線條堆疊現(xiàn)象嚴(yán)重,不夠清晰。

堆疊折線圖
為了解決線條堆疊問題,就有了堆疊折線圖,有意思的是,堆疊折線圖并不堆疊。
如下所示,三個系列折線圖完全被分離開:

上面折線圖,點與點之間的過渡是通過線段連接,其實還可以通過平滑的曲線過渡。
這在Pyecharts中,只需設(shè)置is_smooth參數(shù)為True就行:
.add_yaxis(
????????y_axis=y_data1,
????????is_smooth=True
????????)
這樣就繪制出了平滑過渡的折線圖:
面積堆疊圖
先看下我繪制的面積堆疊圖,可以看到它與上面平滑過渡的折線圖的相比,填充了顏色,一下就能吸引我們的眼球。

這是怎么做到的?其實,相比于折線圖,它只是配置上了areastyle_opts,非常方便!
areastyle_opts=opts.AreaStyleOpts(opacity=1)
當(dāng)然,上面填充的顏色沒有漸變效果,要想添加也非常簡單。
通過上面說到的JsCode,很容易添加上,并且代碼基本是固定的,復(fù)用性強。
最終實現(xiàn)的顏色漸變效果如下:

完整代碼
完整代碼我已經(jīng)放到Python中文網(wǎng),大家只需點擊最下面的 閱讀原文 獲取完整代碼,任何疑問都可留言。
