pydotplus使用

26793编辑收藏

  pydotplus是别的语言嫁接到python里面的,所以绘制要传入字符串形式表示的结构,而没有python的结构对象直接用来画。代码如下:

import pydotplus as pdp
graph = pdp.graph_from_dot_data('digraph demo1{ a -> b -> c; c ->a d->h;d[label="demo"]}')
graph.write_pdf("demo.pdf") 

  输出:

  字符串的形式有点像C中的结构体,但是可以不写分号,用空格代替也可将语句分开。

  具体样式设置见:

  pydotplus安装和基本入门 - DataScience

  另外,因为上面网站没有提,所以记录一下。在“结构体”中,可以设置点与边的样式和字体,并且可以给边添加label:

复制代码
 1 import pydotplus as pdp
 2 map_str = """
 3     digraph demo{
 4         node [shape=box, style="rounded", color="black", fontname="Microsoft YaHei"]; 
 5         edge [fontname="Microsoft YaHei"]; 
 6         a -> b[label="颀周"]
 7         a[label="你好!"]
 8         b[label="吃了吗?"] 
 9         }
10     """
11 graph = pdp.graph_from_dot_data(map_str)
12 graph.write_pdf("demo.pdf")
复制代码

  显示如下:

  重要的是,node和edge中的fontname不设置成中文字体,如上面的Microsoft YaHei,中文就会显示乱码。如果设置成中文字体依然乱码,看下面:

  解决Graphviz无法显示决策树中文问题_开发工具_fzl的博客-CSDN博客

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
很高兴能帮到你~
点赞
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示