小編寫這篇文章的一個主要目的,繼續(xù)為大家介紹關(guān)于Python相關(guān)事宜,介紹的內(nèi)容主要是教我們?nèi)绾稳ダL制餅狀圖,具體怎么去做呢?下面就給大家詳細(xì)的解答下。
概念
餅圖(pie chart)是用圓形及圓內(nèi)扇形的角度來表示數(shù)值大小的圖形,它主要用于表示一個樣本(或總體)中各組成部分的數(shù)據(jù)占全部數(shù)據(jù)的比例。僅排列在工作表的一列或一行中的數(shù)據(jù)可以繪制到餅圖中。餅圖顯示一個數(shù)據(jù)系列(數(shù)據(jù)系列:在圖表中繪制的相關(guān)數(shù)據(jù)點,這些數(shù)據(jù)源自數(shù)據(jù)表的行或列。圖表中的每個數(shù)據(jù)系列具有唯一的顏色或圖案并且在圖表的圖例中表示??梢栽趫D表中繪制一個或多個數(shù)據(jù)系列。餅圖只有一個數(shù)據(jù)系列。)中各項的大小與各項總和的比例。
用法
1、僅有一個要繪制的數(shù)據(jù)系列
2、要繪制的數(shù)值沒有負(fù)值
3、要繪制的數(shù)值幾乎沒有零值
4、類別數(shù)目無限制
5、各類別分別代表整個餅圖的一部分
6、各個部分需要標(biāo)注百分比(也可以不需要,注明數(shù)量也可)
優(yōu)勢
能夠直觀的反映出每個數(shù)據(jù)類別的大體占比,便于我們快速的得出結(jié)論。
餅狀圖系列模板
簡單多色餅狀圖(類別可配色)
選用大量的數(shù)據(jù)集,可以進(jìn)行對類別的配色,直觀的反映每一個類別的占比情況,非常好看。
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker c=( Pie() .add("",[list(z)for z in zip(Faker.choose(),Faker.values())])#可更改 .set_colors(["blue","green","cyan","red","pink","orange","purple"])#顏色可添加 .set_global_opts(title_opts=opts.TitleOpts(title="Pie-標(biāo)題")) .set_series_opts(label_opts=opts.LabelOpts(formatter=":{c}")) .render("簡單多餅狀圖.html") ) print([list(z)for z in zip(Faker.choose(),Faker.values())])#數(shù)據(jù)格式參考
象形餅狀圖
把鼠標(biāo)放在上面,可以顯示占比情況也就是百分?jǐn)?shù)的多少,直觀通過參數(shù)構(gòu)造完全可以解決。
import pyecharts.options as opts from pyecharts.charts import Pie x_data=["直接訪問","郵件營銷","聯(lián)盟廣告","視頻廣告","搜索引擎"] y_data=[335,310,274,235,400] data_pair=[list(z)for z in zip(x_data,y_data)] data_pair.sort(key=lambda x:x[1]) ( Pie(init_opts=opts.InitOpts(width="1600px",height="800px",bg_color="#2c343c")) .add( series_name="訪問來源", data_pair=data_pair, rosetype="radius", radius="55%", center=["50%","50%"], label_opts=opts.LabelOpts(is_show=False,position="center"), ) .set_global_opts( title_opts=opts.TitleOpts( title="Customized Pie", pos_left="center", pos_top="20", title_textstyle_opts=opts.TextStyleOpts(color="#fff"), ), legend_opts=opts.LegendOpts(is_show=False), ) .set_series_opts( tooltip_opts=opts.TooltipOpts( trigger="item",formatter="{a}<br/>:{c}(qoyqs8suu2u%)" ), label_opts=opts.LabelOpts(color="rgba(255,255,255,0.3)"), ) .render("象形圖.html") )
環(huán)形餅狀圖
出現(xiàn)一個環(huán),里面展示出數(shù)據(jù)標(biāo)簽和數(shù)據(jù)量以及數(shù)據(jù)百分比的情況,一般不會用到。
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker c=( Pie() .add( "", [list(z)for z in zip(Faker.choose(),Faker.values())], radius=["40%","55%"], label_opts=opts.LabelOpts( position="outside", formatter="{a|{a}}{abg|}n{hr|}n{b|:}{c}{per|qoyqs8suu2u%}", background_color="#eee", border_color="#aaa", border_width=1, border_radius=4, 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, }, }, ), ) .set_global_opts(title_opts=opts.TitleOpts(title="標(biāo)題")) .render("環(huán)形餅狀圖.html") )
不調(diào)色餅狀圖(大小位置可控制)
前面我們有一個可以自己調(diào)色的餅狀圖,但是有時候你沒有藝術(shù)的靈感,設(shè)計不出具有魅力的圖形,就可以使用這個。
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker c=( Pie() .add( "", [list(z)for z in zip(Faker.choose(),Faker.values())], center=["35%","50%"], ) .set_global_opts( title_opts=opts.TitleOpts(title="Pie-調(diào)整位置"), legend_opts=opts.LegendOpts(pos_left="15%"), ) .set_series_opts(label_opts=opts.LabelOpts(formatter=":{c}")) .render("不調(diào)色餅狀圖.html") )
數(shù)據(jù)類別大量顯示柱狀圖
針對數(shù)據(jù)類別有很多的情況我們選用此模板,把數(shù)據(jù)標(biāo)簽放在右側(cè)。
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker c=( Pie() .add( "", [ list(z) for z in zip( Faker.choose()+Faker.choose()+Faker.choose(),#更換數(shù)據(jù)類別 Faker.values()+Faker.values()+Faker.values(),#更換數(shù)據(jù)量 ) ], center=["40%","50%"], ) .set_global_opts( title_opts=opts.TitleOpts(title="標(biāo)題"), legend_opts=opts.LegendOpts(type_="scroll",pos_left="80%",orient="vertical"), ) .set_series_opts(label_opts=opts.LabelOpts(formatter=":{c}")) .render("數(shù)據(jù)標(biāo)簽大量顯示.html") ) print([ list(z) for z in zip( Faker.choose()+Faker.choose()+Faker.choose(),#數(shù)據(jù)類別 Faker.values()+Faker.values()+Faker.values(),#數(shù)據(jù)量 ) ])
多餅狀圖同時顯示
適合做多個餅狀圖的同時展示,大量的也可以,增加配置即可。
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.commons.utils import JsCode fn=""" function(params){ if(params.name=='其他') return'nnn'+params.name+':'+params.value+'%'; return params.name+':'+params.value+'%'; } """ def new_label_opts(): return opts.LabelOpts(formatter=JsCode(fn),position="center") c=( Pie() .add( "", [list(z)for z in zip(["劇情","其他"],[25,75])], center=["20%","30%"], radius=[60,80], label_opts=new_label_opts(), ) .add( "", [list(z)for z in zip(["奇幻","其他"],[24,76])], center=["55%","30%"], radius=[60,80], label_opts=new_label_opts(), ) .add( "", [list(z)for z in zip(["愛情","其他"],[14,86])], center=["20%","70%"], radius=[60,80], label_opts=new_label_opts(), ) .add( "", [list(z)for z in zip(["驚悚","其他"],[11,89])], center=["55%","70%"], radius=[60,80], label_opts=new_label_opts(), ) .set_global_opts( title_opts=opts.TitleOpts(title="標(biāo)題"), legend_opts=opts.LegendOpts( type_="scroll",pos_top="20%",pos_left="80%",orient="vertical" ), ) .render("多餅圖展示.html") )
玫瑰餅狀圖雙圖顯示
可添加多個,這里只展示一個:
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker v=Faker.choose() c=( Pie() .add( "", [list(z)for z in zip(v,Faker.values())], radius=["30%","75%"], center=["50%","50%"], rosetype="radius", label_opts=opts.LabelOpts(is_show=False), ) #.add( #"", #[list(z)for z in zip(v,Faker.values())], #radius=["30%","75%"], #center=["75%","60%"], #rosetype="area", #) .set_global_opts(title_opts=opts.TitleOpts(title="標(biāo)題")) .render("玫瑰餅狀圖.html") )
環(huán)形餅狀圖(數(shù)據(jù)標(biāo)簽左放)
適合多個數(shù)據(jù),數(shù)據(jù)標(biāo)簽左放不會重疊
from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker c=( Pie() .add( "", [list(z)for z in zip(Faker.choose(),Faker.values())], radius=["40%","75%"], ) .set_global_opts( title_opts=opts.TitleOpts(title="Pie-Radius"), legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_left="2%"), ) .set_series_opts(label_opts=opts.LabelOpts(formatter=":{c}")) .render("數(shù)據(jù)左放餅狀圖.html") )
餅狀圖就介紹到這了,我相信這些模板已經(jīng)足夠了,可視化玩轉(zhuǎn)不僅僅是圖形了,還有炫酷喲!下期文章我們探索K線圖,統(tǒng)計學(xué)里面(經(jīng)濟(jì))耳熟能詳了。
綜上所述,這篇文章就給大家介紹到這里了,希望可以給各位讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128313.html
本文主要是詳細(xì)介紹了pyecharts制作時長滾動圖片柱狀圖+餅狀圖+玫瑰圖+折線統(tǒng)計圖,文章內(nèi)容把握重點把握重點詳盡的基本介紹,具有很強(qiáng)的實用價值,感興趣的朋友可以了解一下。 1、pyecharts繪制時間輪播柱形圖 fromrandomimportrandint frompyechartsimportoptionsasopts frompyecharts.chartsimpor...
這篇文章介紹的主要內(nèi)容是,利用Python pyecharts去繪制柱狀圖,涉及到內(nèi)容知識點還是比較的多的,那么,具體需要怎么操作呢?下面就給大家以案例的形式,去做一個介紹,大家仔細(xì)的閱讀下?! ≈黝}介紹 pyecharts里面有很多的主題可以供我們選擇,我們可以根據(jù)自己的需要完成主題的配置,這樣就告別了軟件的限制,可以隨意的發(fā)揮自己的藝術(shù)細(xì)胞了?! D表參數(shù) '''...
Python pyecharts作為常用的數(shù)據(jù)可視化軟件,能夠清晰的將海量的數(shù)據(jù),去做一個拆分,要是更直觀的去查看數(shù)據(jù)圖表的話,就需要去制作云圖了?那么,怎么制作云圖呢?下面就給大家詳細(xì)的做個解答。 詞云圖 什么是詞云圖,相信大家肯定不會感到陌生,一本書統(tǒng)計里面出現(xiàn)的詞頻,然后可視化展示,讓讀者快速的了解這個主題綱要,這就是詞云的直接效果?! ≡~云圖系列模板 固定模式詞云圖 修改一些參...
小編寫這篇文章的主要目的,主要是給大家做一個詳細(xì)的介紹,介紹的內(nèi)容是Python可視化神器,這個神器指的是pyecharts,那么,怎么樣利用這種語言去進(jìn)行繪制箱型圖呢?下面小編就給大家詳細(xì)解答下?! 「拍睢 『竺娴膱D形都是一些專業(yè)的統(tǒng)計圖形,當(dāng)然也會是我們可視化的對象?! ∠湫螆D(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計圖。因形狀如箱子而得名。...
小編寫這篇文章的主要方法,就是介紹關(guān)于Python pyecharts的一些相關(guān)技巧,包括教給大家怎么去使用Python pyecharts繪制雷達(dá)圖。其實,說起來還是挺麻煩的,那么,我們要怎么去繪制雷達(dá)圖呢?有沒有什么比較好用的方法呢?下面給大家詳細(xì)解答下?! ±走_(dá)圖 雷達(dá)圖是以從同一點開始的軸上表示的三個或更多個定量變量的二維圖表的形式顯示多變量數(shù)據(jù)的圖形方法。軸的相對位置和角度通常是無...
閱讀 956·2023-01-14 11:38
閱讀 936·2023-01-14 11:04
閱讀 787·2023-01-14 10:48
閱讀 2157·2023-01-14 10:34
閱讀 1005·2023-01-14 10:24
閱讀 895·2023-01-14 10:18
閱讀 545·2023-01-14 10:09
閱讀 622·2023-01-14 10:02