>  기사  >  백엔드 개발  >  Python으로 흥미로운 시각화 차트 그리기

Python으로 흥미로운 시각화 차트 그리기

WBOY
WBOY앞으로
2023-04-11 21:07:121750검색

Python으로 흥미로운 시각화 차트 그리기

플로우차트는 우리 삶의 모든 면에 존재합니다. 프로젝트의 진행 상황을 추적하고 다양한 일을 결정하는 데 큰 도움이 됩니다. 그리고 전능하신 Python에게 플로차트 그리기도 매우 쉽습니다. 순서도를 그리기 위한 두 가지 모듈을 먼저 살펴보겠습니다.

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으로 흥미로운 시각화 차트 그리기

주말에 캠핑(Camping)을 갈지 고민하고 있다면, 우리는 갈 것이기 때문에 간단한 흐름도를 그려보겠습니다. 캠핑을 하려면 날씨를 꼭 확인해야 합니다. 비가 오면 가지 마세요. 이 논리에 따라 코드는 다음과 같습니다.

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으로 흥미로운 시각화 차트 그리기

위 내용은 Python으로 흥미로운 시각화 차트 그리기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제