ホームページ  >  記事  >  バックエンド開発  >  Python で興味深い視覚化チャートを描画する

Python で興味深い視覚化チャートを描画する

WBOY
WBOY転載
2023-04-11 21:07:121748ブラウズ

Python で興味深い視覚化チャートを描画する

フローチャートは私たちの生活のあらゆる場面に存在し、プロジェクトの進捗状況を把握したり、さまざまな意思決定をするのに非常に役立ちます。これもとても簡単です。今日はフローチャートを描くための 2 つのモジュールを紹介します。まず最初のモジュールを見てみましょう。

SchemDraw

したがって、SchemDraw モジュールには、フローチャートのメイン ノードを表すために使用される 6 つの要素があります。楕円は意思決定の開始と終了を表します。

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

output

Python で興味深い視覚化チャートを描画する

矢印は意思決定の方向を表し、各ノードを接続するために使用されます。

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

output

Python で興味深い視覚化チャートを描画する

平行四辺形は対処して解決する必要がある問題を表し、長方形は を表します。そのために必要な努力。その努力またはプロセス、コードは次のとおりです:

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 で興味深い視覚化チャートを描画する# 簡単なフローチャートを描いてみましょう 週末にキャンプに行こうと考えている場合、キャンプに行くので天気を確認する必要があります晴れたら (晴れ)、雨の日なら行かないでください。このロジックに従って、フローチャートを描いてみましょう。コードは次のとおりです:

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)

output


Python で興味深い視覚化チャートを描画するNetworkx


Networkx モジュールは、複雑なグラフ ネットワーク構造の作成と処理、さまざまなランダム ネットワークとクラシック ネットワークの生成、ネットワーク構造の分析、およびネットワーク モデルの構築 (描画時など) networkx モジュールは、人的ネットワークの場合に使用できます。


たとえば、会社の組織図の描画にもこのモジュールを使用できます。コードは次のとおりです:

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()

output


Python で興味深い視覚化チャートを描画する#これを見ると、指摘された結果は少し単純なので、色を追加したい場合のコードは次のとおりです:

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 で興味深い視覚化チャートを描画するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。