Carta alir wujud dalam setiap aspek kehidupan kita dalam menjejaki kemajuan projek dan membuat keputusan tentang pelbagai perkara Bagi Python yang maha kuasa, Carta alir Lukisan juga sangat mudah. Hari ini saya akan memperkenalkan kepada anda dua modul untuk melukis carta alir Mari kita lihat yang pertama.
Jadi dalam modul SchemDraw, terdapat enam elemen yang digunakan untuk mewakili nod utama carta alir Bujur mewakili permulaan dan akhir keputusan . , kodnya adalah seperti berikut:
import schemdraw from schemdraw.flow import * with schemdraw.Drawing() as d: d += Start().label("Start")
output
Anak panah mewakili arah membuat keputusan dan digunakan untuk menyambung pelbagai nod. Kodnya adalah seperti berikut:
with schemdraw.Drawing() as d: d += Arrow(w = 5).right().label("Connector")
output
Paralelogram mewakili masalah yang ingin anda tangani dan selesaikan, manakala segi empat tepat mewakili masalah yang anda ingin selesaikan Usaha atau proses untuk ini, kodnya adalah seperti berikut:
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
Berlian mewakili situasi khusus keputusan adalah seperti berikut:
with schemdraw.Drawing() as d: d += Decision(w = 5).label("Decisions")
mari kita lukis carta aliran mudah. hujung minggu, maka oleh kerana kita akan berkhemah, kita pasti perlu Periksa cuaca untuk melihat jika hari hujan, jangan pergi mengikut logik ini, mari kita lukis carta alir.
outputimport 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)
Networkx
Untuk. contoh, modul juga boleh digunakan dalam carta organisasi syarikat, Untuk melukis struktur keseluruhan syarikat secara ringkas dan intuitif, kodnya adalah seperti berikut:
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()
Melihat ini, anda mungkin berfikir bahawa Hasil yang ditunjukkan agak mudah saya ingin menambah beberapa warna keluaran
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()
Atas ialah kandungan terperinci Lukis beberapa carta visualisasi yang menarik dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!