![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5CZ0MWNjJDN1YmNiJTMlVTYkN2NiNWMkNGZxQWZkdjMi9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.gif)
餅狀圖常用于統計學模型,顯示的是一個資料系列,圖表中的每個資料系列具有唯一的顔色。餅狀圖隻有一個資料系列,組成了餅狀圖中各項的大小與各項總和的比例。餅狀圖中的資料點顯示為整個餅狀圖。 餅狀圖的繪圖要點:
- 僅有一個要繪制的資料系列
- 要繪制的數值沒有負值
- 要繪制的數值幾乎沒有零值
- 類别數目無限制
- 各類别分别代表整個餅狀圖的一部分
- 各個部分需要标注百分比
本文借助Python中的pyecharts庫,繪制常用的餅狀圖,圓環圖、玫瑰圖(餅狀圖的變種), 生成餅狀圖可以分為如下幾步,導入pyecharts庫,導入資料,基本屬性設定,如下為常用的餅狀圖示例,詳細操作請看代碼注釋。
1餅狀圖
from pyecharts.charts import Pieimport pyecharts.options as optsnum = [506.2,81.7,47.4]lab = ['東部地區', '中部地區', '西部地區'] #導入資料( Pie(init_opts=opts.InitOpts(width='720px', height='320px')) #自定義畫布大小 .add(series_name='', data_pair=[(i, j)for i, j in zip(lab, num)]) #周遊資料 .set_global_opts(title_opts=opts.TitleOpts(title="區域快遞業務總量/億件",subtitle="2019年國家郵政局監管報告")) #添加主、副标題 .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #添加資料标簽 ).render_notebook()
2圓環圖
from pyecharts.charts import Pieimport pyecharts.options as optsnum = [506.2,81.7,47.4]lab = ['東部地區', '中部地區', '西部地區'] #導入資料( Pie(init_opts=opts.InitOpts(width='720px', height='320px')) #指定畫布大小 .add(series_name='', radius=['40%', '75%'], #設定内、外環大小 data_pair=[(j, i) for i, j in zip(num, lab)]) #周遊資料 .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))###添加資料标簽 .set_global_opts(title_opts=opts.TitleOpts(title="區域快遞業務總量/億件",subtitle="2019年國家郵政局監管報告")) #添加主、副标題 .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #添加資料标簽 ).render_notebook()
3玫瑰圖
# 情緒分布玫瑰圖from pyecharts.charts import Piefrom pyecharts import options as optscate = ['積極情緒','中性情緒','消極情緒'] data = [322, 96, 118] # 示例資料( Pie(init_opts=opts.InitOpts(width='720px', height='320px')) #指定圖表大小 .add('', [list(z) for z in zip(cate, data)], radius=["30%", "75%"], rosetype="radius") #設定為玫瑰圖 .set_global_opts(title_opts=opts.TitleOpts(title="情緒分布玫瑰圖")) #添加标題 .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #資料标簽).render_notebook()