最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python用pyecharts畫(huà)矩形樹(shù)圖實(shí)例

 更新時(shí)間:2022年01月20日 16:48:44   作者:林老頭ss  
大家好,本篇文章主要講的是python用pyecharts畫(huà)矩形樹(shù)圖實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

一、概念介紹

矩形樹(shù)圖(Treemap),即矩形式樹(shù)狀結(jié)構(gòu)圖,利用矩形的面積表示數(shù)值的大小,顏色用于類別區(qū)分,常用于呈現(xiàn)多類別的一維數(shù)值比較,易讀性強(qiáng);基于樹(shù)狀的功能,在結(jié)構(gòu)圖中可以同時(shí)呈現(xiàn)數(shù)據(jù)層次的信息。

示例如下:

· 對(duì)比常見(jiàn)的柱狀圖和條形圖,矩形樹(shù)圖彌補(bǔ)了以下三個(gè)缺點(diǎn):

1、當(dāng)我們的數(shù)據(jù)是多類別且每個(gè)類別只有一個(gè)數(shù)值時(shí),我們用柱狀圖會(huì)浪費(fèi)很多的空間,而且顯得單調(diào)。

2、當(dāng)數(shù)據(jù)間差異較大(235 vs 18),會(huì)是對(duì)我們柱狀圖的縱坐標(biāo)設(shè)定帶來(lái)困擾,忽略極差會(huì)稀釋我們小值類的差異。(當(dāng)然 ,如果我們的大值只有那么一兩個(gè),可以單拎出來(lái)處理)

3、柱狀圖無(wú)法呈現(xiàn)數(shù)據(jù)間的層級(jí)結(jié)構(gòu)

二、數(shù)據(jù)展示

我們的目的是為了呈現(xiàn)類間數(shù)值大小差異,如果有第二層,也順便比較第二層的占比情況。

為了展示多各類別,我們利用的是省份的數(shù)據(jù),excel表格中呈現(xiàn)如下:

 第二層、第三層為了樹(shù)狀的呈現(xiàn)而隨機(jī)生成,也是為了說(shuō)明,樹(shù)層結(jié)構(gòu)并不要求每個(gè)節(jié)點(diǎn)都有枝葉。

三、數(shù)據(jù)導(dǎo)入

我們先繪制只有一維的,只需要輸入【省份】【關(guān)注類】?jī)蓚€(gè)列,這個(gè)其實(shí)更常用一點(diǎn)(我的角度)

province_type1 = pd.DataFrame(pd.read_excel('./各省市上市公司個(gè)數(shù)/矩形樹(shù)圖示例.xlsx'))
tree = []
name = [province_type1['省份'][i]+'\n'+str(province_type1['關(guān)注類A'][i]) for i in range(len(province_type1))]
for i in range(len(province_type1)):
    dic = {}
    dic["value"],dic["name"] = int(province_type1['關(guān)注類A'][i]),name[i]
    tree.append(dic)

①name--列表型數(shù)據(jù)結(jié)構(gòu),用于存放每個(gè)數(shù)據(jù)的label,這里我為了同時(shí)呈現(xiàn)數(shù)據(jù)對(duì)應(yīng)的省份和大小,中間用了換行符(不用的話,在我們的樹(shù)圖上是一行,不好看)

②繪制矩形樹(shù)圖需要的是list,list里面是字典,key名指定為"name","value"。

③一定要注意的是,如果你畫(huà)出來(lái)的圖沒(méi)有數(shù)據(jù)或者沒(méi)有顯示,檢查是不是讀excel數(shù)據(jù)中出現(xiàn)了問(wèn)題,即上述代碼中int的位置。

用于繪制treemap的數(shù)據(jù)結(jié)構(gòu)如下所示:

四、圖像繪制 

tm = (
      TreeMap()
      .add("關(guān)注類A",tree)
      .set_series_opts(label_opts=opts.LabelOpts(position='inside'))
      .set_global_opts(title_opts=opts.TitleOpts(title = '',subtitle = '2022/1/18-林老頭ss'))
      )
 
tm.render('./繪圖結(jié)果/矩形樹(shù)圖-例一.html')

position---指定label,即我們的name的位置,inside會(huì)居中顯示。如果不加,默認(rèn)top,在每個(gè)矩形上方顯示。

結(jié)果如下所示:

 由上圖可知,廣東省、浙江省和江蘇省在隨機(jī)數(shù)據(jù)中排名前三。受顯示區(qū)域的限制,數(shù)據(jù)較小或名字過(guò)長(zhǎng)的矩形往往不能顯示完全,需要交互式放大其數(shù)值。

五、樹(shù)形結(jié)構(gòu)

在加入樹(shù)形結(jié)構(gòu)后,我們需要在代碼中相應(yīng)增加key為“children"的數(shù)據(jù)

from pyecharts.charts import Page,TreeMap
from pyecharts import options as opts
import pandas as pd
import math
province_type1 = pd.DataFrame(pd.read_excel('./矩形樹(shù)圖示例.xlsx'))
tree = []
name = [province_type1['省份'][i]+'\n'+str(province_type1['關(guān)注類A'][i]) for i in range(len(province_type1))]
for i in range(len(province_type1)):
    dic = {}
    dic["value"],dic["name"] = int(province_type1['關(guān)注類A'][i]),name[i]
    if math.isnan(province_type1['關(guān)注類A-1'][i]) ==0:
        dic["children"] = [
                            {"name":province_type1['省份'][i]+"A-1:"+str(province_type1['關(guān)注類A-1'][i]),"value":int(province_type1['關(guān)注類A-1'][i])},
                            {"name":province_type1['省份'][i]+"A-2:"+str(province_type1['關(guān)注類A-1'][i]),"value":int(province_type1['關(guān)注類A-2'][i])}
                         ]
    if math.isnan(province_type1['關(guān)注類A1-1'][i]) ==0:
        dic["children"][0]["children"] = [
                                        {"name":"A1-1:"+str(province_type1['關(guān)注類A1-1'][i]),"value":int(province_type1['關(guān)注類A1-1'][i])},
                                        {"name":"A1-2:"+str(province_type1['關(guān)注類A1-1'][i]),"value":int(province_type1['關(guān)注類A1-2'][i])}
                                        ]
    tree.append(dic)
 
tm = (
      TreeMap()
      .add("關(guān)注類A的樹(shù)",tree)
      .set_series_opts(label_opts=opts.LabelOpts(position='inside'))
      .set_global_opts(title_opts=opts.TitleOpts(title = '加油呀朋友們~',subtitle = '2022/1/18-林老頭ss'))
      )
 
tm.render('./繪圖結(jié)果/矩形樹(shù)圖-例二.html')

 如果沒(méi)有枝葉的類,則不需要在"name""value"平級(jí)上加"children",如果枝葉中有兩個(gè)以上類別,相當(dāng)于是一個(gè)新的樹(shù),需要增加“children”,結(jié)構(gòu)和樹(shù)形一致,如下所示:

【“name”:“父節(jié)點(diǎn)”,

    "value": number,

   "children":【{“name”:“子節(jié)點(diǎn)一”,“value”:number},

                       {“name”:“子節(jié)點(diǎn)二”,“value”:number},

                       {“name”:“子節(jié)點(diǎn)三”,“value”:number}

                     】

子序列在顯示區(qū)域允許的情況下,可以繼續(xù)按上述結(jié)構(gòu)增加。

繪制結(jié)果如下所示:

從上圖我們可以看到,盡管我們?yōu)楦割惷?,但顯示的結(jié)果只有最小類的名稱和數(shù)值。

pyecharts圖像交互性較強(qiáng),可以通過(guò)點(diǎn)擊不斷聚焦類,放大圖像,但由于不知道怎么呈現(xiàn)給大家,還是鼓勵(lì)大家自己動(dòng)手操作去探索叭~

總結(jié)

到此這篇關(guān)于python用pyecharts畫(huà)矩形樹(shù)圖實(shí)例的文章就介紹到這了,更多相關(guān)python pyecharts畫(huà)矩形樹(shù)圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python+Django+apache的配置方法詳解

    python+Django+apache的配置方法詳解

    這篇文章主要介紹了python+Django+apache的配置方法,詳細(xì)分析了python+Django+apache的安裝與配置步驟,并分析了相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 新年福利來(lái)一波之Python輕松集齊五福(demo)

    新年福利來(lái)一波之Python輕松集齊五福(demo)

    這篇文章主要介紹了新年福利來(lái)一波之Python輕松集齊五福的小demo,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python實(shí)現(xiàn)求最大公約數(shù)及判斷素?cái)?shù)的方法

    Python實(shí)現(xiàn)求最大公約數(shù)及判斷素?cái)?shù)的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)求最大公約數(shù)及判斷素?cái)?shù)的方法,涉及Python算數(shù)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Win10 GPU運(yùn)算環(huán)境搭建(CUDA10.0+Cudnn 7.6.5+pytroch1.2+tensorflow1.14.0)

    Win10 GPU運(yùn)算環(huán)境搭建(CUDA10.0+Cudnn 7.6.5+pytroch1.2+tensorflow1.

    熟悉深度學(xué)習(xí)的人都知道,深度學(xué)習(xí)是需要訓(xùn)練的,本文主要介紹了Win10 GPU運(yùn)算環(huán)境搭建,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 解析django的csrf跨站請(qǐng)求偽造

    解析django的csrf跨站請(qǐng)求偽造

    本文主要介紹了解析django的csrf跨站請(qǐng)求偽造,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python與Matlab混合編程的實(shí)現(xiàn)案例

    Python與Matlab混合編程的實(shí)現(xiàn)案例

    本文主要介紹了Python與Matlab混合編程的實(shí)現(xiàn)案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python字符串格式化%s%d%f詳解

    Python字符串格式化%s%d%f詳解

    這篇文章主要介紹了Python字符串格式化%s%d%f詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • python3中_from...import...與import?...之間的區(qū)別詳解(包/模塊)

    python3中_from...import...與import?...之間的區(qū)別詳解(包/模塊)

    Python編碼第一步是導(dǎo)入模塊,有時(shí)候用import?***有時(shí)候用from...import,下面這篇文章主要給大家介紹了關(guān)于python3中_from...import...與import?...之間區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python模塊介紹與使用詳細(xì)講解

    Python模塊介紹與使用詳細(xì)講解

    這篇文章主要介紹了Python模塊介紹與使用詳細(xì)講解,包括模塊的相關(guān)概念和使用方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • python爬取招聘要求等信息實(shí)例

    python爬取招聘要求等信息實(shí)例

    在本篇文章里小編給大家整理了關(guān)于python爬取招聘要求等信息實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11

最新評(píng)論

紫阳县| 临清市| 河北区| 萝北县| 瑞丽市| 视频| 普陀区| 绥阳县| 揭阳市| 堆龙德庆县| 渝中区| 新野县| 云梦县| 平邑县| 广德县| 阜平县| 长寿区| 农安县| 黑水县| 锡林郭勒盟| 论坛| 新兴县| 新晃| 汉阴县| 商都县| 通许县| 辽中县| 武穴市| 井研县| 嘉荫县| 鲁山县| 信宜市| 梁河县| 岐山县| 青铜峡市| 谢通门县| 伊金霍洛旗| 西安市| 绥德县| 米林县| 拉萨市|