Maison > Article > développement back-end > 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.
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
.
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
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
with schemdraw.Drawing() as d: d += Process(w = 5).label("Processing")
output
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
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
.
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
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
.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!