溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Python繪制有趣的可視化圖表

發(fā)布時(shí)間:2023-04-13 11:29:50 來(lái)源:億速云 閱讀:90 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹了怎么用Python繪制有趣的可視化圖表的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇怎么用Python繪制有趣的可視化圖表文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

SchemDraw

那么在SchemDraw模塊當(dāng)中呢,有六個(gè)元素用來(lái)代表流程圖的主要節(jié)點(diǎn)的,橢圓形代表的是決策的開(kāi)始和結(jié)束,代碼如下:

import schemdraw
from schemdraw.flow import *
with schemdraw.Drawing() as d:
 d += Start().label("Start")

output

怎么用Python繪制有趣的可視化圖表

箭頭表示的是決策的走向,用來(lái)連接各個(gè)節(jié)點(diǎn)的,代碼如下:

with schemdraw.Drawing() as d:
 d += Arrow(w = 5).right().label("Connector")

output

怎么用Python繪制有趣的可視化圖表

平行四邊形代表的是你所要去處理和解決的問(wèn)題,而長(zhǎng)方形所代表的是你所要為此做出的努力或者說(shuō)是過(guò)程,代碼如下:

with schemdraw.Drawing() as d:
 d += Data(w = 5).label("What's the problem")

output

怎么用Python繪制有趣的可視化圖表

with schemdraw.Drawing() as d:
 d += Process(w = 5).label("Processing")

output

怎么用Python繪制有趣的可視化圖表

而菱形代表的則是決策的具體情況,代碼如下:

with schemdraw.Drawing() as d:
 d += Decision(w = 5).label("Decisions")

output

怎么用Python繪制有趣的可視化圖表

我們來(lái)繪制一個(gè)簡(jiǎn)單的流程圖,假如周末的時(shí)候我們想著要不要出去露營(yíng)(Camping),那既然要去露營(yíng)的話,我們肯定是需要查看一下天氣,看一下是否是晴天(Sunny),如果是下雨天(Rainy)的話,就不去,按照這種邏輯,我們來(lái)繪制一下流程圖,代碼如下:

import schemdraw
from schemdraw.flow import *
with schemdraw.Drawing() as d:
 d+= Start().label("Start")
 d+= Arrow().down(d.unit/2)
 # 具體是啥問(wèn)題嘞
 d+= Data(w = 4).label("Go camping or not")
 d+= Arrow().down(d.unit/2)
 # 第一步 查看天氣
 d+= Box(w = 4).label("Check weather first")
 d+= Arrow().down(d.unit/2)
 # 是否是晴天
 d+= (decision := Decision(w = 5, h= 5,
S = "True",
 E = "False").label("See if it's sunny"))
 # 如果是真的話
 d+= Arrow().length(d.unit/2)
 d+= (true := Box(w = 5).label("Sunny, go camping"))
 d+= Arrow().length(d.unit/2)
 # 結(jié)束
 d+= (end := Ellipse().label("End"))
 # 如果不是晴天的話
 d+= Arrow().right(d.unit).at(decision.E)
 # 那如果是下雨天的話,就不能去露營(yíng)咯
 d+= (false := Box(w = 5).label("Rainy, stay at home"))
 # 決策的走向
 d+= Arrow().down(d.unit*2.5).at(false.S)
 # 決策的走向
 d+= Arrow().left(d.unit*2.15)
 d.save("palindrome flowchart.jpeg", dpi = 300)

output

怎么用Python繪制有趣的可視化圖表

Networkx

Networkx模塊用來(lái)創(chuàng)建和處理復(fù)雜的圖網(wǎng)絡(luò)結(jié)構(gòu),生成多種隨機(jī)網(wǎng)絡(luò)和經(jīng)典網(wǎng)絡(luò),分析網(wǎng)絡(luò)結(jié)構(gòu)和建立網(wǎng)絡(luò)模型,例如在繪制人脈關(guān)系網(wǎng)的案例當(dāng)中就可以用到networkx模塊,

而例如一個(gè)公司的組織架構(gòu)圖,也可以用到該模塊,來(lái)簡(jiǎn)單直觀的繪制公司的整體架構(gòu),代碼如下:

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
G = nx.DiGraph()
nodes = np.arange(0, 8).tolist()
G.add_nodes_from(nodes)
# 節(jié)點(diǎn)連接的信息,哪些節(jié)點(diǎn)的是相連接的
G.add_edges_from([(0,1), (0,2),
(1,3), (1, 4),
(2, 5), (2, 6), (2,7)])
# 節(jié)點(diǎn)的位置
pos = {0:(10, 10),
1:(7.5, 7.5), 2:(12.5, 7.5),
3:(6, 6), 4:(9, 6),
5:(11, 6), 6:(14, 6), 7:(17, 6)}
# 節(jié)點(diǎn)的標(biāo)記
labels = {0:"CEO",
 1: "Team A Lead",
 2: "Team B Lead",
 3: "Staff A",
 4: "Staff B",
 5: "Staff C",
 6: "Staff D",
 7: "Staff E"}
nx.draw_networkx(G, pos = pos, labels = labels, arrows = True,
node_shape = "s", node_color = "white")
plt.title("Company Structure")
plt.show()

output

怎么用Python繪制有趣的可視化圖表

看到這里,大家可能會(huì)覺(jué)得會(huì)指出來(lái)的結(jié)果有點(diǎn)簡(jiǎn)單,想要添加上去些許顏色,代碼如下:

nx.draw_networkx(G, pos = pos, labels = labels,
bbox = dict(facecolor = "skyblue",
boxstyle = "round", ec = "silver", pad = 0.3),
edge_color = "gray"
 )
plt.title("Company Structure")
plt.show()

output

怎么用Python繪制有趣的可視化圖表

關(guān)于“怎么用Python繪制有趣的可視化圖表”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“怎么用Python繪制有趣的可視化圖表”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI