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

Python 繪制?;鶊D全面解析

 更新時(shí)間:2021年09月22日 16:57:06   作者:執(zhí)念斬長(zhǎng)河  
?;鶊D,即?;芰糠至鲌D,也叫桑基能量平衡圖。它是一種特定類型的流程圖,圖中延伸的分支的寬度對(duì)應(yīng)數(shù)據(jù)流量的大小,通常應(yīng)用于能源、材料成分、金融等數(shù)據(jù)的可視化分析。試了一下用python畫?;鶊D,在這里整理了一下分享給大家

大家好,我是執(zhí)念斬長(zhǎng)河,一個(gè)剛剛學(xué)習(xí)python繪圖的學(xué)渣,今天愉快學(xué)習(xí)《python數(shù)據(jù)可視化》(黑馬程序員編著),其中的“繪制?;鶊D”內(nèi)容,我將其成功實(shí)現(xiàn),特此寫博文紀(jì)念一下。

前言

?;鶊D亦稱為?;芰糠至鲌D、?;芰科胶鈭D,是一種特定類型的流程圖,用于展示數(shù)據(jù)的“流動(dòng)”變化。?;鶊D中包含若干條從左到右延展的分支,每條分支的寬度代表數(shù)據(jù)流量的大小。

題目再現(xiàn)

假設(shè)現(xiàn)在小明家日常生活的開支主要分為工資、副業(yè)、生活、購(gòu)物、深造、運(yùn)動(dòng)、其他和買書幾類,且其中每項(xiàng)投入或產(chǎn)出值分別為0.7、0.3、-0.3、-0.1、-0.3、-0.1、-0.1、-0.1,請(qǐng)結(jié)合這些日常生活開支的數(shù)據(jù)繪制一個(gè)?;鶊D

在這里插入圖片描述

題目拆解

我們需要繪畫出桑基圖,首先知道創(chuàng)建桑基圖的類.matplotlib.sankey模塊中專門提拱了表示?;鶊D的類Sankey,通過創(chuàng)建Sankey類的對(duì)象可以創(chuàng)建桑基圖,之后可以調(diào)用add()方法為?;鶊D添加一些配置選項(xiàng),最后調(diào)用finish()方法完成?;鶊D的繪制.

創(chuàng)建?;鶊D

Sankey(ax=None, scale=1.0,unit='',format='%G',gap=0.25,radius=0.1,shoulder=0.03,
offset=0.15,head_angle=100,margin=0.4,tolerance=1e-06,**kwargs)

常用函數(shù)參數(shù)如下:

  • ax:若不提供該參數(shù),則會(huì)創(chuàng)建一個(gè)新的坐標(biāo)軸
  • scale:表示流量比例的因子,用于按比例調(diào)整分支的寬度
  • unit:表示與流量相關(guān)的物理單位的字符串.若設(shè)為None,則不會(huì)做數(shù)量標(biāo)記
  • gap:表示進(jìn)入或離開頂部或底部的分支間距,默認(rèn)為0.25

添加?;鶊D選項(xiàng)

Sankey類對(duì)象可以調(diào)用add()方法為?;鶊D添加數(shù)據(jù)流量、標(biāo)簽等選項(xiàng)

add(self,patchlabel='',flows=None,orientations=None,labels='',
trunklength=1.0, pathlengths=0.25,prior=None,connect=(0,0),
rotation=0,**kwargs)

常用參數(shù)如下:

  • patchlabel:表示位于圖表中心的標(biāo)簽
  • flows:表示流量數(shù)據(jù)數(shù)組,其中投入數(shù)據(jù)為正值,產(chǎn)生數(shù)據(jù)為負(fù)值。
  • orientations:表示流的方向列表或用于所有流的單個(gè)方向,可以取值為0(從左側(cè)輸入、右側(cè)輸出)、1(從頂部到頂部)或-1(從底部到底部)
  • labels:表示流的標(biāo)簽列表或用于所有流的單個(gè)標(biāo)簽
  • trunklength:表示輸入組和輸出組的基之間的長(zhǎng)度

返回?;鶊D繪制完成的對(duì)象

Sankey類對(duì)象在添加數(shù)據(jù)之后需要調(diào)用finish()方法完成繪制,并返回包含多個(gè)桑基子圖列表,?;訄D包含以下字段.

  • patch:表示桑基子圖的輪廓
  • flows:表示流量值(輸入為正,輸出為負(fù))
  • angles:表示箭頭角度的列表
  • tips:表示流路徑的尖端或凹陷位置的數(shù)組,其中每一行是一個(gè)(x,y)
  • text:表示中心標(biāo)簽的Text實(shí)例
  • texts:表示流分支標(biāo)簽的Text實(shí)例

3.完整源碼

if __name__ == '__main__':
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from matplotlib.sankey import Sankey

    plt.rcParams['font.sans-serif'] = 'SimHei'
    plt.rcParams['axes.unicode_minus'] = False

    # 消費(fèi)收入與支出數(shù)據(jù)
    flows = [0.7, 0.3,-0.3,-0.1,-0.3,-0.1,-0.1,-0.1]
    # 流的標(biāo)簽列表
    labels = ["工資","副業(yè)","生活","購(gòu)物","深造","運(yùn)動(dòng)","其他","買書"]
    # 流的方向
    orientations = [1,1,0,-1,1,-1,1,0]
    # 創(chuàng)建Sankey類對(duì)象
    sankey = Sankey()
    sankey.add(flows=flows, # 收入與支出數(shù)據(jù)
               labels = labels, # 數(shù)據(jù)標(biāo)簽
               orientations = orientations, # 標(biāo)簽顯示的方向
               color='black', # 邊緣線條顏色
               fc="lightgreen", # 填充顏色
                patchlabel="生活消費(fèi)", # 圖表中國(guó)心的標(biāo)簽
               alpha=0.7)

    # ?;鶊D繪制完成的對(duì)象
    diagrams = sankey.finish()
    diagrams[0].texts[4].set_color("r")   # 將下標(biāo)為4的數(shù)據(jù)標(biāo)簽設(shè)為紅色
    diagrams[0].texts[4].set_weight("bold") # 將下標(biāo)為4的數(shù)據(jù)標(biāo)簽設(shè)為字體標(biāo)簽
    diagrams[0].text.set_fontsize(20)     # 將中心標(biāo)簽的字體大小設(shè)為20
    diagrams[0].text.set_fontweight("bold") # 將中心標(biāo)簽的字體設(shè)為加粗
    plt.title('日常生活開支的?;鶊D')
    plt.show()

總結(jié)&后記

?;鶊D真好玩,感覺挺有趣的。

到此這篇關(guān)于Python 繪制?;鶊D全面解析的文章就介紹到這了,更多相關(guān)python 繪制?;鶊D內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python實(shí)現(xiàn)文本文件轉(zhuǎn)Excel

    基于Python實(shí)現(xiàn)文本文件轉(zhuǎn)Excel

    Excel文件是我們常用的一種文件,在工作中使用非常頻繁。Excel中有許多強(qiáng)大工具,因此用Excel來處理文件會(huì)給我們帶來很多便捷。本文就來和大家分享一下Python實(shí)現(xiàn)文本文件轉(zhuǎn)Excel的方法,感興趣的可以了解一下
    2022-08-08
  • Django配置kafka消息隊(duì)列的實(shí)現(xiàn)

    Django配置kafka消息隊(duì)列的實(shí)現(xiàn)

    本文主要介紹了Django配置kafka消息隊(duì)列的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)

    numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)

    NumPy提供了多種存取數(shù)組內(nèi)容的文件操作函數(shù),保存數(shù)組數(shù)據(jù)的文件可以是二進(jìn)制格式或者文本格式,下面這篇文章主要給大家介紹了關(guān)于numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Python實(shí)現(xiàn)利用163郵箱遠(yuǎn)程關(guān)電腦腳本

    Python實(shí)現(xiàn)利用163郵箱遠(yuǎn)程關(guān)電腦腳本

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)利用163郵箱遠(yuǎn)程關(guān)電腦腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • pytorch算子torch.arange在CPU?GPU?NPU中支持?jǐn)?shù)據(jù)類型格式

    pytorch算子torch.arange在CPU?GPU?NPU中支持?jǐn)?shù)據(jù)類型格式

    這篇文章主要為大家介紹了pytorch算子torch.arange在CPU?GPU?NPU支持?jǐn)?shù)據(jù)類型格式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Python filter過濾器原理及實(shí)例應(yīng)用

    Python filter過濾器原理及實(shí)例應(yīng)用

    這篇文章主要介紹了Python filter過濾器原理及實(shí)例應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python實(shí)戰(zhàn)之屏幕錄制功能的實(shí)現(xiàn)

    Python實(shí)戰(zhàn)之屏幕錄制功能的實(shí)現(xiàn)

    屏幕錄制,即屏幕捕獲,是指將計(jì)算機(jī)屏幕上的活動(dòng)記錄下來,生成視頻文件,本文 主要為大家介紹了如何使用Python實(shí)現(xiàn)這一功能,希望對(duì)大家有所幫助
    2025-03-03
  • 最新評(píng)論

    道孚县| 绵阳市| 铁岭县| 黄石市| 梁河县| 游戏| 茶陵县| 朔州市| 全州县| 林周县| 密云县| 南开区| 尉氏县| 禄丰县| 塘沽区| 锦州市| 泗阳县| 南安市| 凤台县| 全椒县| 茂名市| 临朐县| 延长县| 平利县| 桐柏县| 嵩明县| 莱州市| 凤庆县| 南康市| 九寨沟县| 聂荣县| 牙克石市| 昌都县| 三门峡市| 安新县| 洛阳市| 宣恩县| 台中县| 藁城市| 淮阳县| 城口县|