一、Matplotlib庫繪製餅圖
在數據可視化中,餅圖是一種廣泛使用的圖表類型,通常用於展示數據的比例關係。Python的Matplotlib庫提供了非常方便的餅圖繪製函數,可以幫助我們快速生成各種餅圖。下面是一個繪製基本餅圖的示例:
import matplotlib.pyplot as plt labels = ['A', 'B', 'C', 'D'] # 標籤 sizes = [15, 30, 45, 10] # 比例 explode = (0, 0.1, 0, 0) # 突出顯示 plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90) plt.axis('equal') plt.show()
上面的程序通過使用plt.pie()函數繪製了一個包含四個區域的基本餅圖。sizes代表每個區域佔比,labels代表每個區域的標籤,explode代表是否需要對某個區域進行突出顯示,並且使用autopct參數指定顯示每個區域的比例,startangle則表示餅圖的起始角度。最後使用plt.show()函數展示出餅圖。
二、Seaborn庫繪製餅圖
除了Matplotlib庫外,Seaborn庫也提供了繪製餅圖的函數sns.pieplot(),並且在一些方面更加靈活和方便。下面是一個使用Seaborn庫繪製餅圖的示例:
import seaborn as sns sizes = [15, 30, 45, 10] # 比例 labels = ['A', 'B', 'C', 'D'] # 標籤 colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # 顏色 explode = (0, 0.1, 0, 0) # 突出顯示 sns.set_style('darkgrid') # 設置樣式 plt.figure(figsize=(6, 6)) # 設置圖片大小 sns.pieplot(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', shadow=True, startangle=90, counterclock=False) plt.title('Pie Chart') # 設置標題 plt.show()
在這個示例中,我們使用sns.pieplot()函數重複了Matplotlib庫的實現方式,除了在參數設置上更加簡潔和清晰。除此之外,Seaborn庫還提供了一些定製顏色,風格等的高級設置和配置。該示例中使用的類似’lightskyblue’的顏色來自於Seaborn內置的一些調色板,可以在必要時使用sns.color_palette()函數自行創建和定製顏色。
三、Plotly庫繪製餅圖
Plotly庫是一個強大的數據繪圖庫,它提供了許多繪製交互式圖表的功能。餅圖是其中的一種。下面是使用Plotly庫繪製餅圖的示例:
import plotly.graph_objs as go labels = ['A', 'B', 'C', 'D'] # 標籤 values = [15, 30, 45, 10] # 值 colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # 顏色 trace = go.Pie(labels=labels, values=values, hoverinfo='label+percent', textinfo='value', textfont=dict(size=20), marker=dict(colors=colors, line=dict(color='#000000', width=2))) layout = go.Layout(title='Pie Chart', margin=dict(l=50, r=50, b=100, t=100)) fig = go.Figure(data=[trace], layout=layout) fig.show()
在這個示例中,我們使用了plotly.graph_objs模塊創建了一個圖形對象和一個布局對象,並通過go.Figure()函數將它們組合在一起。在trace中,我們設置了標籤,值,顏色和邊界的寬度等一系列屬性,layout中設置了標題和間距等屬性。最後使用fig.show()函數展示出餅圖,它還提供了很多交互式功能,例如鼠標懸停提示,旋轉,調整顏色和大小,導出等。
四、總結
在Python中繪製餅圖有多種方法,Matplotlib庫,Seaborn庫和Plotly庫是其中的主要方法。在這篇文章中,我們介紹了它們如何繪製基本和自定義餅圖。
# 完整代碼示例:Matplotlib庫繪製基本餅圖 import matplotlib.pyplot as plt labels = ['A', 'B', 'C', 'D'] # 標籤 sizes = [15, 30, 45, 10] # 比例 explode = (0, 0.1, 0, 0) # 突出顯示 plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90) plt.axis('equal') plt.show()
# 完整代碼示例:Seaborn庫繪製餅圖 import seaborn as sns sizes = [15, 30, 45, 10] # 比例 labels = ['A', 'B', 'C', 'D'] # 標籤 colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # 顏色 explode = (0, 0.1, 0, 0) # 突出顯示 sns.set_style('darkgrid') # 設置樣式 plt.figure(figsize=(6, 6)) # 設置圖片大小 sns.pieplot(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', shadow=True, startangle=90, counterclock=False) plt.title('Pie Chart') # 設置標題 plt.show()
# 完整代碼示例:Plotly庫繪製餅圖 import plotly.graph_objs as go labels = ['A', 'B', 'C', 'D'] # 標籤 values = [15, 30, 45, 10] # 值 colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] # 顏色 trace = go.Pie(labels=labels, values=values, hoverinfo='label+percent', textinfo='value', textfont=dict(size=20), marker=dict(colors=colors, line=dict(color='#000000', width=2))) layout = go.Layout(title='Pie Chart', margin=dict(l=50, r=50, b=100, t=100)) fig = go.Figure(data=[trace], layout=layout) fig.show()
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152814.html