持續努力在家自主封城,加油~
很重要說三次!!!
減少外出與聚會,勤洗手,做好個人衛生!
減少外出與聚會,勤洗手,做好個人衛生!
減少外出與聚會,勤洗手,做好個人衛生!
今天來談談,想要看看一些市占率或是公司產品該怎麼看呢?比較方便的就是一塊大餅,看你佔了多少份額,所以今天就來談談圓餅圖怎麼畫吧,這大概也是這系列倒數三個圖了,之後可能就採不定時方式更新!
本次展示是透過全球手機市占率,展現圓餅圖的用法.
資料來源 : 全球手機市佔最新排名出爐:蘋果暌違 4 年登頂、華為慘跌!
0. 目標
1. 載入所需要的元件
1 2 |
from pyecharts.charts import Pie #畫圓餅圖當然是要找Pie這個元件啊 from pyecharts import options as opts |
2. 定義初始化資料
1 2 3 4 5 |
#初始化資料 #品牌名稱 Brands=['Other','Apple','Samsung','Xiaomi','OPPO','Huawei',] #銷售金額 Sales=['130442.8','79942.7','62117.0','43430.3','34373.7','34373.7',] |
3. 開始畫圖摟
1 2 3 4 5 6 7 8 |
pie=( Pie() .add( "", [list(z) for z in zip(Brands, Sales)] , ) ) pie.render_notebook() #jupyernotebook專用 |
4. 什麼也太快了吧,上面這樣就畫好了?不過有些地方看不懂~
1 |
[list(z) for z in zip(Brands, Sales)] |
這次用了一個手法,就是用zip這個函數將Brands與sales兩個打包成一個pyecharts可以讀的資料,並且放在list中變成:
1 2 3 4 5 6 7 8 9 |
#Pie要讀取資料的格式 [('data1','vale1'), ('data2','value2')....] # [ ('Apple','79942.7'), ('Samsung','62117.0'), ('Xiaomi','43430.3'), ] |
5. 什麼,你覺得不夠好看?好吧,透過rich函數加點html在裡面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
pie=( Pie() .add( "", [list(z) for z in zip(Brands, Sales)] , #此段定義圓餅圖要呈現Lable的式樣 label_opts=opts.LabelOpts( formatter="{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c} {per|{d}%} ", background_color="#eee", border_color="#aaa", border_width=1, border_radius=4, #透過rich產生圖說內的式樣 rich={ "a": {"color": "#999", "lineHeight": 22, "align": "center"}, "abg": { "backgroundColor": "#e3e3e3", "width": "100%", "align": "right", "height": 22, "borderRadius": [4, 4, 0, 0], }, "hr": { "borderColor": "#aaa", "width": "100%", "borderWidth": 0.5, "height": 0, }, "b": {"fontSize": 16, "lineHeight": 33}, "per": { "color": "#eee", "backgroundColor": "#334455", "padding": [2, 4], "borderRadius": 2, }, }, ) ) ) pie.render_notebook() #jupyernotebook專用 |
6.完成一張美美又會動的元餅圖啦
按照往例寫在後頭:
身為一個IT與企業人,取之網路用之網路,也想為社會上盡一些力量,做點CSR(企業社會責任 Corporate Social Responsibility),透過我小小的力量,藉此拋磚引玉,我整理了相關視覺化資料簡報(目前約一百多頁)與怎麼畫圖表的程式碼都已經寫成Step by Step的Jupyter Notebook教學文件,有些會陸續在Blog說明,但若各位賢達也想給予鼓勵做些公益,歡迎到任何慈善公益團體捐款(E.g 罕見疾病、脊髓損傷、唐寶寶、愛貓愛狗…etc,比較小型的公益團體),讓愛心可以分散力量發揮出去,並且透過留言聯繫我,提供捐款證明,我將此份文件無償提供給您參考(文件會陸續更新,以當下最新版本提供).
ps 給醫護鼓勵打氣也可以啊~