您现在的位置是:亿华云 > 系统运维
用 Python 绘制几张有趣的可视化图表
亿华云2025-10-04 00:53:03【系统运维】5人已围观
简介流程图存在于我们生活的方方面面,对于我们追踪项目的进展,做出各种事情的决策都有着巨大的帮助,而对于万能的Python而言呢,绘制流程图也是十分轻松的,今天小编就来为大家介绍两个用于绘制流程图的模块,我
流程图存在于我们生活的用P有趣方方面面,对于我们追踪项目的制张进展,做出各种事情的视化决策都有着巨大的帮助,而对于万能的图表Python而言呢,绘制流程图也是用P有趣十分轻松的,今天小编就来为大家介绍两个用于绘制流程图的制张模块,我们先来看第一个。视化
SchemDraw
那么在SchemDraw模块当中呢,图表有六个元素用来代表流程图的用P有趣主要节点的,椭圆形代表的制张是决策的开始和结束,代码如下:
import schemdraw
from schemdraw.flow import
*with schemdraw.Drawing() as d:
d += Start().label("Start")output
箭头表示的视化是决策的走向,用来连接各个节点的图表,代码如下:
with schemdraw.Drawing() as d:
d += Arrow(w = 5).right().label("Connector")output
平行四边形代表的用P有趣是你所要去处理和解决的源码下载问题,而长方形所代表的制张是你所要为此做出的努力或者说是过程,代码如下:
with schemdraw.Drawing() as d:
d += Data(w = 5).label("Whats the problem")output
with schemdraw.Drawing() as d:
d += Process(w = 5).label("Processing")output
而菱形代表的视化则是决策的具体情况,代码如下:
with schemdraw.Drawing() as d:
d += Decision(w = 5).label("Decisions")output
我们来绘制一个简单的流程图,假如周末的时候我们想着要不要出去露营(Camping),那既然要去露营的话,我们肯定是需要查看一下天气,看一下是否是晴天(Sunny),如果是下雨天(Rainy)的话,就不去,按照这种逻辑,我们来绘制一下流程图,代码如下:
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 its 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
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
看到这里,大家可能会觉得会指出来的结果有点简单,想要添加上去些许颜色,网站模板代码如下:
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
很赞哦!(222)
相关文章
- 公司名字不但要与其经营理念、活动识别相统一,还要能反映公司理念,服务宗旨、商品形象,从而才能使人看到或听到公司的名称就能产生愉快的联想,对商店产生好感。这样有助于公司树立良好的形象。
- JetBrains布局本土化,为国内开发者打造高效开发工具
- MongoDB从入坑到入迷
- 聊聊分布式一致性算法协议 Paxos
- 5、使用企业名称的英文名称作为域名也是国内许多企业选择域名的一种方式,特别适合一些与计算机、网络和通信相关的行业。
- 有价值的域名哪里找?评估域名价值从哪些方面?
- 2021年11月26日过期删除域名预定推荐
- Healthchecks — 监控服务器Cron定时任务的神器
- 在数以亿计的网站中,我们应该抓住每一个可能带来宣传的机会,域名可以带有企业的名字,一般可以使用汉语拼音或者英语单词或者是相关缩写的形式,只要用户记住了你企业的名字,就能很容易的打出你的网站域名,同样的,记住了网站域名也能很快的记住你公司的名字。
- 硬核干货!Redis 分布式集群部署实战