python画完图 程序暂停运行_程序猿如何画出精美的桑基图

画各种软件工程图对于程序猿来说是家常便饭。比较简单的结构图、流程图、数据流图、类图、柱状图之类的用Visio、XMind、PowerPoint、Excel也就算了,再复杂一点的,如决策树之类的图,用"亿图"之类的软件也可以将就。更多时候画出既能完美表达思路又线条优美的图却是难上加难。

最近看了一篇ceph大神的博客,用桑基图描述crush(一种分布式文件系统的副本分布策略),既形象又优美,那么怎么才能画出这种图呢?

0a655eeecd0cd0ad936efa6903767e4b.png

答案:用代码画,虽然有时候会费点劲儿,但有更大的发挥空间。

准备工作

环境介绍

主要软件:

  • anaconda2019.03
  • jupyter notebook
  • pyecharts
  • Linux/Mac/Windows

主要思路:用python的pyecharts画图

搭建python的运行环境,本文选择使用anaconda。

anaconda官网:https://www.anaconda.com/distribution/

对于Mac和Windows一键安装即可,在安装时注意把注册环境变量的选项勾上。打开命令终端后的使用过程各平台都相同。

不过作为一款服务软件,自然首选安装在服务器上,因此,本文以Centos7为例,介绍安装和使用过程。

安装anaconda

# 安装依赖包yum install -y wget tar zip unzip curl bzip2# 下载安装包wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh# 安装bash Anaconda3-2019.03-Linux-x86_64.sh

安装过程中按"空格"跳过声明信息,按提示输入"yes"和"安装目录"后,继续安装步骤,安装过程即可顺利完成。安装完成后,开启一个新的shell终端窗口进行后续操作。

配置操作系统

注:本文为了方便演示才进行如此配置,生产环境请勿执行以下命令。

# 关闭防火墙systemctl stop firewalld.servicesystemctl disable firewalld.servicesystemctl stop iptablessetenforcing 0

安装jupyter notebook

conda install jupyter

配置jupyter

# 生成配置文件jupyter notebook --generate-config# 设置登录密码jupyter notebook password

设置密码时连续输入两次密码即可。

安装图形库

pip install pyecharts

画图

启动jupyter notebook

jupyter notebook --allow-root --ip=0.0.0.0 --port=8888

用代码画图

访问地址:"http://SERVER_IP:8888",

密码:上面步骤中设置的密码;

代码:关注同名微信公众号“麻辣软硬件”后,回复"桑基图"获取。

详细步骤如下图:

d6c531e8b3b01ad1c94b58aaf84699b6.gif

结语

pyecharts不仅仅可以画桑基图,python也不止有pyecharts一种图形库,因此用python画图有很大的发挥空间。尤其是画数学模型相关的图,更是手到擒来。如下:

0b3e861264ddf784d0aa537bac867530.png

给大家留一个练习题,下面这张分型图近些年比较火,那么它是如何画的?

de41eb51e95f627328dbdce4b7026b9a.png

关注同名微信公众号"麻辣软硬件",回复"分型图"获取源代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值