Maison  >  Article  >  développement back-end  >  Dessinez des graphiques de visualisation intéressants avec Python

Dessinez des graphiques de visualisation intéressants avec Python

WBOY
WBOYavant
2023-04-11 21:07:121743parcourir

Dessinez des graphiques de visualisation intéressants avec Python

Les organigrammes existent dans tous les aspects de nos vies. Ils nous sont d'une grande aide pour suivre l'avancement des projets et prendre des décisions sur diverses choses. Et pour le tout-puissant Python, dessiner des organigrammes est également très simple. à vous deux modules pour dessiner des organigrammes. Regardons d'abord le premier.

SchemDraw

Donc dans le module SchemDraw, il y a six éléments utilisés pour représenter les nœuds principaux de l'organigramme. Les ovales représentent le début et la fin de la décision. Le code est le suivant :

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

output
.

Dessinez des graphiques de visualisation intéressants avec Python

Les flèches représentent la direction de la prise de décision et sont utilisées pour connecter différents nœuds. Le code est le suivant :

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

sortie

Dessinez des graphiques de visualisation intéressants avec Python

Le parallélogramme représente le problème que vous devez traiter et résoudre, tandis que le rectangle représente l'effort ou le processus que vous devez faire pour cela, le code est le suivant :

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

output

Dessinez des graphiques de visualisation intéressants avec Python


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

output

Dessinez des graphiques de visualisation intéressants avec Python

Le losange représente la situation spécifique du prise de décision, le code est le suivant :

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

output

Dessinez des graphiques de visualisation intéressants avec Python

Dessinons un organigramme simple Si nous réfléchissons à l'opportunité d'aller camper (Camping) le week-end, alors puisque nous y allons. en camping, nous devons absolument vérifier la météo. Vérifiez s'il fait beau. S'il pleut, n'y allez pas. Selon cette logique, dessinons un organigramme. Le code est le suivant :

import schemdraw
from schemdraw.flow import *
with schemdraw.Drawing() as d:
 d+= Start().label("Start")
 d+= Arrow().down(d.unit/2)
 # 具体是啥问题嘞
 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)
 # 结束
 d+= (end := Ellipse().label("End"))
 # 如果不是晴天的话
 d+= Arrow().right(d.unit).at(decision.E)
 # 那如果是下雨天的话,就不能去露营咯
 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)

sortie
.

Dessinez des graphiques de visualisation intéressants avec Python

Networkx

Le module Networkx est utilisé pour créer et traiter des structures de réseau graphiques complexes, générer une variété de réseaux aléatoires et de réseaux classiques, analyser les structures de réseau et construire des modèles de réseau. Par exemple, le module networkx peut être utilisé. dans le cas du dessin d'un réseau de connexions,

Par exemple, l'organigramme d'une entreprise peut également utiliser ce module pour dessiner la structure globale de l'entreprise de manière simple et intuitive. Le code est le suivant :

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)
# 节点连接的信息,哪些节点的是相连接的
G.add_edges_from([(0,1), (0,2),
(1,3), (1, 4),
(2, 5), (2, 6), (2,7)])
# 节点的位置
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)}
# 节点的标记
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()

sortie

Dessinez des graphiques de visualisation intéressants avec Python

.

En voyant cela, vous penserez peut-être que vous le remarquerez. Le résultat est un peu simple. Je veux ajouter un peu de couleur. Le code est le suivant :

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

Dessinez des graphiques de visualisation intéressants avec Python

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer