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

一文速學(xué)Python+Pyecharts繪制樹(shù)形圖

 更新時(shí)間:2023年02月17日 09:42:46   作者:fanstuck  
比起matplotlib,pyeacharts的圖表要豐富而且好看,而且pyechart文檔全,便于開(kāi)發(fā)和閱讀文檔,熟練掌握后是一種非常好用的數(shù)據(jù)可視化的工具之一。本文就來(lái)用Pyecharts繪制樹(shù)形圖,快跟隨小編一起學(xué)習(xí)一下吧

前言

之前寫(xiě)pandas和matplotlib的時(shí)候說(shuō)到了想要出一期Pyechart系列數(shù)據(jù)可視化的文章。比起matplotlib,pyeacharts的圖表要豐富而且好看,這取決于它是基于百度團(tuán)隊(duì)使用Javascript開(kāi)發(fā)的商業(yè)級(jí)數(shù)據(jù)圖表。而且pyechart文檔全,便于開(kāi)發(fā)和閱讀文檔,熟練掌握后是一種非常好用的數(shù)據(jù)可視化的工具之一。當(dāng)然相比pandas的plot代碼會(huì)繁瑣一些,其中一些操作類(lèi)方法也是比較復(fù)雜的,需要對(duì)其有個(gè)大概的掌握才能作出滿(mǎn)意的圖表。

在我之前的文章中也有好幾次使用到了pyechart方法,但是我覺(jué)得既然是完成一些數(shù)據(jù)可視化的操作應(yīng)該就要快速可呈現(xiàn),作為數(shù)據(jù)處理能夠得到解析出想要的數(shù)據(jù)就足夠了,如果有個(gè)業(yè)務(wù)小組完全可以將這一部分交給前端去渲染就好了,主要還是快速出圖表給我們自己看,用于調(diào)整代碼而已。那么廢話不多說(shuō)了開(kāi)始吧!

一、Tree樹(shù)圖

pyecharts只能說(shuō)不愧是國(guó)人開(kāi)發(fā),文檔真的給力,不用再去啃生肉那么痛苦了。很多詳細(xì)的參數(shù)看開(kāi)發(fā)文檔就可以看明白:pyecharts - A Python Echarts Plotting Library built with love.

我們來(lái)看它給出的基礎(chǔ)例圖:

from pyecharts import options as opts
from pyecharts.charts import Tree
 
 
data = [
    {
        "children": [
            {"name": "B"},
            {
                "children": [{"children": [{"name": "I"}], "name": "E"}, {"name": "F"}],
                "name": "C",
            },
            {
                "children": [
                    {"children": [{"name": "J"}, {"name": "K"}], "name": "G"},
                    {"name": "H"},
                ],
                "name": "D",
            },
        ],
        "name": "A",
    }
]
c = (
    Tree()
    .add("", data)
    .set_global_opts(title_opts=opts.TitleOpts(title="Tree-基本示例"))
    .render("tree_base.html")
)

此代碼會(huì)生成一個(gè)網(wǎng)頁(yè):

看對(duì)應(yīng)的前端源代碼:

<!DOCTYPE HTML>
<html>
 
<head>
  <meta charset="utf-8">
  <title>tree_base.html</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
 
<body>
  <style type="text/css">
    html, body, #container {
      height: 100%;
    }
    body, #container {
      overflow: hidden;
      margin: 0;
    }
    #iframe {
      width: 100%;
      height: 100%;
      border: none;
    }
  </style>
  <div id="container">
    <iframe id="iframe" sandbox="allow-scripts" src="/files/Hivesqlblood/tree_base.html"></iframe>
  </div>
</body>
 
</html>

sandbox="allow-scripts"允許添加腳本執(zhí)行,也就是將我們編寫(xiě)的python轉(zhuǎn)換為了js腳本,通過(guò)代碼輸入端口獲取echart的配置:

如果不想生成網(wǎng)頁(yè)將render("tree_base.html")改為render_notebook()即可。

樹(shù)形圖有很多種使用場(chǎng)景,比如事件的從屬關(guān)系,

這里更主要的是數(shù)據(jù)處理板塊,如果我們僅想要將一行列表數(shù)據(jù)轉(zhuǎn)換為樹(shù)形圖數(shù)據(jù)結(jié)構(gòu)該如何處理。

二、數(shù)據(jù)處理

我們拿到展示數(shù)據(jù)結(jié)構(gòu)為:

[    {        "children": [            {"name": "B"},            {                "children": [{"children": [{"name": "I"}], "name": "E"}, {"name": "F"}],
                "name": "C",
            },
            {
                "children": [
                    {"children": [{"name": "J"}, {"name": "K"}], "name": "G"},
                    {"name": "H"},
                ],
                "name": "D",
            },
        ],
        "name": "A",
    }
]

也就是結(jié)構(gòu)為 [{"children":[{"name": "B"},{"name": "B"}] ,"name": "temp"}]的類(lèi)型,我們需要將將數(shù)據(jù)轉(zhuǎn)換為這個(gè)格式數(shù)據(jù),就以通用的list來(lái)說(shuō),如果用樹(shù)圖來(lái)表示的話肯定是有一節(jié)點(diǎn)為根節(jié)點(diǎn),一部分節(jié)點(diǎn)為子節(jié)點(diǎn)。就以一個(gè)list來(lái)說(shuō):

list_1=['temp_road_check_20220902', 'dws_crowdsourcing_cs_order_link_mysql', 'track_point_traffic_dev_tk_track_traffic_info_offline']

第一個(gè)節(jié)點(diǎn)為根節(jié)點(diǎn),其余為子節(jié)點(diǎn)。那么我們就可以進(jìn)行這樣分裝:

list_1=['temp_road_check_20220902', 'dws_crowdsourcing_cs_order_link_mysql', 'track_point_traffic_dev_tk_track_traffic_info_offline']
list_children=[]
for i in range(len(list_1)-1):
    children_dict={"name":list_1[i+1]}
    list_children.append(children_dict)
dict_children={"children":list_children,"name": list_1[0]}
data=[dict_children]

這樣的話就可以形成樹(shù)形圖的格式了:

畫(huà)圖也就為:

最好肯定是使用常態(tài)化的思維去封裝這個(gè)方法,通過(guò)數(shù)據(jù)結(jié)構(gòu)調(diào)整方法。

到此這篇關(guān)于一文速學(xué)Python+Pyecharts繪制樹(shù)形圖的文章就介紹到這了,更多相關(guān)Python Pyecharts繪制樹(shù)形圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python爬取小姐姐圖片(beautifulsoup法)

    使用Python爬取小姐姐圖片(beautifulsoup法)

    這篇文章主要介紹了Python爬取小姐姐圖片(beautifulsoup法),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Pandas字符串操作的各種方法及速度測(cè)試

    Pandas字符串操作的各種方法及速度測(cè)試

    這篇文章主要為大家介紹了Pandas字符串操作的各種方法及速度測(cè)試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Python填充任意顏色,不同算法時(shí)間差異分析說(shuō)明

    Python填充任意顏色,不同算法時(shí)間差異分析說(shuō)明

    這篇文章主要介紹了Python填充任意顏色,不同算法時(shí)間差異分析說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python中的gunicorn配置和使用教程

    python中的gunicorn配置和使用教程

    這篇文章主要介紹了python中的gunicorn配置和使用教程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • python獲取word文檔總頁(yè)數(shù)的兩種方法

    python獲取word文檔總頁(yè)數(shù)的兩種方法

    這篇文章主要介紹了python獲取word文檔的總頁(yè)數(shù)的兩種方法,文中給出了兩種解決方案,兩種方案也都各有優(yōu)缺點(diǎn),可能也不一定是完全準(zhǔn)確的,需要的朋友可以參考下
    2024-03-03
  • python的常見(jiàn)命令注入威脅

    python的常見(jiàn)命令注入威脅

    不過(guò)下面可是我們開(kāi)發(fā)產(chǎn)品初期的一些血淋淋的案例,更多的安全威脅可以看看北北同學(xué)的《python hack》PPT,里面提及了不只命令執(zhí)行的威脅,那些都是我們親身經(jīng)歷的代碼
    2013-02-02
  • pandas數(shù)據(jù)合并與重塑之merge詳解

    pandas數(shù)據(jù)合并與重塑之merge詳解

    這篇文章主要介紹了pandas數(shù)據(jù)合并與重塑之merge,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python利用dlib獲取人臉的68個(gè)landmark

    python利用dlib獲取人臉的68個(gè)landmark

    這篇文章主要介紹了python利用dlib獲取人臉的68個(gè)landmark,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • flask中的wtforms使用方法

    flask中的wtforms使用方法

    這篇文章主要介紹了flask中的wtforms使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 用Python生成器實(shí)現(xiàn)微線程編程的教程

    用Python生成器實(shí)現(xiàn)微線程編程的教程

    這篇文章主要介紹了用Python生成器實(shí)現(xiàn)微線程編程的教程,本文來(lái)自于IBM官方開(kāi)發(fā)者技術(shù)文檔,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

宁都县| 汕尾市| 三门峡市| 吴堡县| 汶上县| 南华县| 湖口县| 盐亭县| 香河县| 富顺县| 务川| 榆树市| 枣阳市| 阳东县| 郁南县| 九龙坡区| 鸡泽县| 霸州市| 长宁区| 大余县| 孙吴县| 陈巴尔虎旗| 沛县| 绍兴县| 图们市| 南皮县| 陇西县| 姚安县| 石棉县| 祁东县| 昭觉县| 仙桃市| 苍山县| 呼玛县| 正宁县| 石台县| 勃利县| 卓尼县| 商水县| 鄂伦春自治旗| 正镶白旗|