更新時間:2022-02-21 來源:黑馬程序員 瀏覽量:
今天的Python培訓課程,我們講一下如何使用pyplot的stackplot()函數(shù)快速繪制堆積面積圖,stackplot()函數(shù)的語法格式如下所示:
stackplot(x, y, labels=(), baseling='zero', data=None, *args, **kwargs)
該函數(shù)常用參數(shù)的含義如下。
·x:表示x軸的數(shù)據(jù),可以是一維數(shù)組。
·y:表示y軸的數(shù)據(jù),可以是二維數(shù)組或一維數(shù)組序列。
·labels:表示每組折線及填充區(qū)域的標簽。
·baseline:表示計算基線的方法,包括'zero'、'sym'、'wiggle'和'weighted_wiggle'。其中,'zero'表示恒定零基線,即簡單的堆積圖;'sym'表示對稱于零基線;'wiggle'表示最小化平方斜率的總和;'weighted_wiggle'表示執(zhí)行相同的操作,但權(quán)重用于說明每層的大小。
例如,使用stackplot()函數(shù)繪制由3條折線及下方填充區(qū)域堆疊的堆積面積圖,代碼如下。
import matplotlib.pyplot as pyplot import numpy as np x = np.arange(6) y1 = np.array([1,4,3,5,6,7]) y2 = np.array([1,3,4,2,7,6]) y3 = np.array([3,4,3,6,5,5]) # 繪制堆積面積圖 plt.stackplot(x, y1, y2, y3) plt.show
運行程序,效果如圖2-12所示。
圖2-12 堆積面積圖示例
需要說明的是,堆積面積圖按照自下而上的順序逐個堆疊填充區(qū)域,因此先繪制的圖形位于底部,后繪制的圖形位于上方。