面積圖(Area Plot)是一種用來展示資料隨時間或其他變數變化的累積趨勢的圖表。它類似於折線圖,但將曲線下方的區域填滿,從而更直觀地展示數據的變化趨勢。今天,我們將介紹面積圖的應用場景,並使用 Matplotlib 和 Pandas 繪製面積圖來展示累積變化的趨勢。
用昨天PLOT的檔案繼續使用
再來點+text的按鈕
打# area plot
面積圖適合用來展示以下情境的資料:
首先,我們使用 Matplotlib 繪製一個簡單的面積圖,來展示不同花卉種類的累積花萼長度變化。
# 計算累積花萼長度
iris_df['Cumulative Sepal Length'] = iris_df.groupby('target')['sepal length (cm)'].cumsum()
# 繪製簡單面積圖
plt.fill_between(iris_df.index, iris_df['Cumulative Sepal Length'], color='skyblue', alpha=0.4)
plt.plot(iris_df.index, iris_df['Cumulative Sepal Length'], color='Slateblue', alpha=0.6, linewidth=2)
plt.title('Cumulative Sepal Length Trend by Flower Species')
plt.xlabel('Sample Index')
plt.ylabel('Cumulative Sepal Length (cm)')
plt.show()
這段程式碼計算了花卉種類的累積花萼長度,並使用 fill_between()
函數繪製了面積圖。
我們可以使用 Pandas 內建的繪圖功能來繪製堆疊面積圖,展示不同花卉種類的累積花瓣長度變化。
# 計算每種花卉的平均花瓣長度
grouped_petal_length = iris_df.groupby('target')['petal length (cm)'].mean()
# 繪製堆疊面積圖
grouped_petal_length.plot(kind='area', stacked=True, alpha=0.6)
plt.title('Cumulative Petal Length Trend by Flower Species')
plt.xlabel('Flower Species')
plt.ylabel('Average Petal Length (cm)')
plt.show()
這段程式碼使用 unstack()
來轉換資料格式,並繪製了一個堆疊面積圖,展示不同花卉種類的累積花瓣長度變化趨勢。
我們可以通過調整顏色、透明度和線條樣式來改進面積圖的外觀,使其更加美觀和易於理解。
# 調整樣式與外觀的面積圖
plt.fill_between(iris_df.index, iris_df['Cumulative Sepal Length'], color='lightgreen', alpha=0.5, label='Cumulative Sepal Length')
plt.plot(iris_df.index, iris_df['Cumulative Sepal Length'], color='green', alpha=0.8, linewidth=2)
plt.title('Cumulative Sepal Length Trend (Improved)')
plt.xlabel('Sample Index')
plt.ylabel('Cumulative Sepal Length (cm)')
plt.legend()
plt.grid(True)
plt.show()
這段程式碼調整了面積圖的顏色、透明度,並添加了圖例和網格線,使圖表更加美觀和清晰。
如果我們希望展示不同花卉種類的累積花瓣長度趨勢,可以使用多組資料的分組面積圖。
# 繪製分組面積圖
for label, df in iris_df.groupby('target'):
plt.fill_between(df.index, df['Cumulative Sepal Length'], alpha=0.4, label=f'Flower Species {label}')
plt.plot(df.index, df['Cumulative Sepal Length'], alpha=0.6)
plt.title('Cumulative Sepal Length by Flower Species')
plt.xlabel('Sample Index')
plt.ylabel('Cumulative Sepal Length (cm)')
plt.legend()
plt.show()
這段程式碼會為每個花卉種類繪製一個分組面積圖,幫助我們比較不同花卉種類的累積趨勢。
今天我們學習了如何使用 Matplotlib 和 Pandas 繪製面積圖,包括:
面積圖能夠幫助我們更好地理解資料的累積變化趨勢。接下來,我們將學習如何對資料進行排序與排名,以便進行進一步的分析與比較。