借助 graphviz 展示简单的人物关系

背景

graphviz 网站提供了关于 graphviz\text{graphviz} graphviz 的介绍。Graphviz Examples 网站提供了一些小例子。我们可以借助 graphviz\text{graphviz} graphviz 来展示简单的人物关系。

正文

Sketchviz 页面,我们可以看到实时的绘制效果

《倚天屠龙记》中的部分角色

以《倚天屠龙记》中的一些角色为例,可以通过使用如下的代码生成对应的图

dot 复制代码
# http://www.graphviz.org/content/cluster

digraph G {
    zhangcuishan [label="张翠山" color="blue"];
    yinsusu [label="殷素素" color="red"];
    zhangwuji [label="张无忌" color="blue"];
    yintianzheng [label="殷天正" color="blue"];
    yinyewang [label="殷野王" color="blue"];
    yinli [label="殷离" color="red"];
    yangxiao [label="杨逍" color="blue"];
    jixiaofu [label="纪晓芙" color="red"];
    yangbuhui [label="杨不悔" color="red"];
    daiqisi [label="黛绮丝\n(金花婆婆)" color="red"];
    hanqianye [label="韩千叶\n(银叶先生)" color="blue"];
    xiaozhao [label="小昭" color="red"];
    ruyangwang [label="汝阳王" color="blue"];
    wangbaobao [label="王保保" color="blue"];
    zhaomin [label="赵敏" color="red"];

    zhangcuishan -> zhangwuji [color="blue"];
    yinsusu -> zhangwuji [color="red"];
    yintianzheng -> yinsusu [color="blue"];
    yintianzheng -> yinyewang [color="blue"];
    yinyewang -> yinli [color="blue"];
    yangxiao -> yangbuhui [color="blue"];
    jixiaofu -> yangbuhui [color="red"];
    daiqisi -> xiaozhao [color="red"];
    hanqianye -> xiaozhao [color="blue"];
    ruyangwang -> wangbaobao [color="blue"];
    ruyangwang -> zhaomin [color="blue"];
}

把这些代码复制到 Sketchviz,可以看到如下的效果

可以将其保存为 png\text{png} png 文件

繁体版如下

dot 复制代码
# http://www.graphviz.org/content/cluster

digraph G {
    zhangcuishan [label="張翠山" color="blue"];
    yinsusu [label="殷素素" color="red"];
    zhangwuji [label="張無忌" color="blue"];
    yintianzheng [label="殷天正" color="blue"];
    yinyewang [label="殷野王" color="blue"];
    yinli [label="殷離" color="red"];
    yangxiao [label="楊逍" color="blue"];
    jixiaofu [label="紀曉芙" color="red"];
    yangbuhui [label="楊不悔" color="red"];
    daiqisi [label="黛綺絲\n(金花婆婆)" color="red"];
    hanqianye [label="韓千葉\n(銀葉先生)" color="blue"];
    xiaozhao [label="小昭" color="red"];
    ruyangwang [label="汝陽王" color="blue"];
    wangbaobao [label="王保保" color="blue"];
    zhaomin [label="趙敏" color="red"];

    zhangcuishan -> zhangwuji [color="blue"];
    yinsusu -> zhangwuji [color="red"];
    yintianzheng -> yinsusu [color="blue"];
    yintianzheng -> yinyewang [color="blue"];
    yinyewang -> yinli [color="blue"];
    yangxiao -> yangbuhui [color="blue"];
    jixiaofu -> yangbuhui [color="red"];
    daiqisi -> xiaozhao [color="red"];
    hanqianye -> xiaozhao [color="blue"];
    ruyangwang -> wangbaobao [color="blue"];
    ruyangwang -> zhaomin [color="blue"];
}

参考资料

相关推荐
谙忆102415 天前
图片 EXIF 元数据与隐私:一张照片到底泄露了什么,怎么读取、怎么在发图前清干净
图片资源
TYKJ0232 个月前
CDN加速的原理,远不止缓存这么简单
后端·性能优化·图片资源
Aolith2 个月前
从0到1实现帖子上传图片:我是如何复用头像上传逻辑的
vue.js·图片资源
mCell2 个月前
从云相册的缩略图说起:Bun.Image 让我告别 sharp
javascript·图片资源·bun
wing984 个月前
用 AI 实现图片懒加载,这也太简单了!
前端·vue.js·图片资源
BigByte5 个月前
我用 6 个 WASM 编码器干掉了 Canvas.toBlob(),图片压缩率直接提升 15%
性能优化·webassembly·图片资源
Mintopia7 个月前
容器化部署 Flux.1-dev 文生图模型应用 | 共绩算力
人工智能·llm·图片资源
sweet丶8 个月前
SDWebImage深度解析:高效图片加载背后的架构设计与卓越实践
ios·图片资源
用户199701080188 个月前
1688图片搜索API | 上传图片秒找同款 | 相似商品精准推荐
大数据·数据挖掘·图片资源