自动绘图功能

写于

自动绘图功能

首先,下载Graphviz安装,然后pip install graphviz

Graphviz使用dot语言生成流程图之类的内容,然后使用python语言调用dot语言,在jupyter notebook中生成图片

代码如下:

from graphviz import Source
from IPython.display import display

# DOT语言代码
dot_code = '''
这里写dot绘图代码
'''

# 创建Source对象并渲染图像
source = Source(dot_code, format="png")
source.render(filename='xxx', view=True)  # 图片命名 

# 在Jupyter Notebook中显示生成的图像
display(source)
from graphviz import Source
from IPython.display import display

# DOT语言代码
dot_code = '''
digraph G {
    label="systemd-journald工作流程"

    subgraph cluster1 {
        label="日志来源"
        node [shape=box];
        Kernel;
        "启动过程";
        "守护进程";
        Kernel -> "systemd-journald";
        "启动过程" -> "systemd-journald";
        "守护进程" -> "systemd-journald";
    }

    subgraph cluster2 {
        label="日志存储"
        node [shape=box];
        "systemd-journald" -> Memory [label="内存(/run/log/journal)"];
        "systemd-journald" -> Disk [label="磁盘(/var/log/journal)"];
    }

    subgraph cluster3 {
        label="日志管理"
        node [shape=box];
        "systemd-journald" -> "systemctl start systemd-journald.service";
        "systemd-journald" -> "systemctl stop systemd-journald.service";
        "systemd-journald" -> "systemctl restart systemd-journald.service";
        "systemd-journald" -> "systemctl status systemd-journald.service";
    }

    # 设置布局选项
    rankdir=LR;  # 左到右布局
    ratio=1.333;  # 4:3宽高比
}
'''

# 创建Source对象并渲染图像
source = Source(dot_code, format="png")
source.render(filename='systemd-journald_workflow', view=True)

# 在Jupyter Notebook中显示生成的图像
display(source)