Graphviz使用注意事项

系统环境:win10 64bit
工具:Graphviz, Notepad++

关于Graphviz的介绍就不多说了,官网下载安装即可,安装后手动将程序所在文件目录添加到系统环境变量,然后打开控制台窗口才能使用dot,neato等程序。

dot 渲染的图具有明确方向性。
neato 渲染的图缺乏方向性。
twopi 渲染的图采用放射性布局。
circo 渲染的图采用环型布局。
fdp 渲染的图缺乏方向性。
sfdp 渲染大型的图,图片缺乏方向性。

(1)
安装好Graphviz后,我们就要开始写代码了,但是似乎Graphviz没有提供类似于IDE的程序啊?怎么办呢?
按照网上的其他说法就是使用文本编辑器,如sublime text,emacs或者Vim等,很遗憾,因为不是专业程序员,上述编辑器自己都不熟练,而且在windows环境下更喜欢记事本类型的,那么我就使用了Notepad++这个文本编辑器。

编写以下代码

graph G{
/* fontname: PMingLiU(新细明体),MingLiU(细明体),DFKai-SB(标楷体),SimHei(黑体),
            SimSun(宋体),NSimSun(新宋体),FangSong(仿宋),KaiTi(楷体),
            FangSong_GB2312(仿宋_GB2312),KaiTi_GB2312(楷体_GB2312),
            Microsoft JhengHei(微软正黑体),Microsoft YaHei(微软雅黑),LiSu(隶书)
*/

resolution=480;            //设置分辨率
dpi = 320;                 //设置分辨率
node [fontname="SimHei"];  //设置节点属性,这里设置字体为黑体
edge [fontname="SimHei"];  // 设置边属性
"黑海" [shape = circle, color = blueviolet, fontcolor = blueviolet, fontsize = 20];
"黑海" -- "亚速海" [fontname="SimHei", label = "刻赤海峡"];
subgraph cluster_T{
fontname="SimHei"
label = "黑海海峡";
fontsize = 24;              //字体大小
fillcolor = darkslategray;  //填充颜色
style = filled; 
fontcolor = white;          //字体颜色
node [fontcolor = white, color = white,fontname="SimHei"];
"博斯普鲁斯海峡" -- "马尔马拉海" -- "达达尼尔海峡" [color = white];
"博斯普鲁斯海峡" [shape = parallelogram];
"达达尼尔海峡" [shape = parallelogram];
}
"黑海" -- "博斯普鲁斯海峡" [color = red ,penwidth = 2];
"达达尼尔海峡" -- "爱琴海" [color = red ,penwidth = 2];
subgraph cluster_M{
node [fontname="Microsoft YaHei"];
fontname="SimHei"
label = "地中海海域";
fontsize = 24;
"西部地中海" [shape = Mcircle, style = filled, color = grey, fillcolor = aquamarine, fontsize = 20];
"中部地中海" [shape = Mcircle, style = filled, color = grey, fillcolor = aquamarine, fontsize = 20];
"直布罗陀海峡" [shape = parallelogram, fontcolor = red];
"西西里海峡" [shape = parallelogram ];
"中部地中海" -- {"爱琴海" "爱奥尼亚海" "西西里海峡"};
"西部地中海" -- {"西西里海峡" "第勒安海" "利古里亚海" "伊比利海" "阿尔沃兰海"};
"爱奥尼亚海" -- "亚得里亚海"; 30 "阿尔沃兰海" -- "直布罗陀海峡";
}
}

保存为graph.dot,打开CMD, 进入文件所在目录,执行以下程序:

dot D:\Files\graphviz\graph3.dot -T png -o test.png

-T后面连接的是图片格式,可以png,jpg,svg,pdf,tif等格式,具体有哪些输出程序可以查看官网test.png是输出的图片,会在当前目录生成。

代码中已经写了很多绘图时用到的关键属性了,
这里写图片描述

(2)一开始遇到了显示中文乱码问题,只需在属性中设置fontname 即可,这在上述代码中已写出

(3)生成图片的分辨率问题,如果不添加分辨率属性使用默认值生成的图分辨率不好,使用resolution或者dpi属性修改其值可以获得高分辨率的图像,上面的代码已经实现

(4)如果每次修改代码后都要重新执行上述命令,然后用照片查看器打开就太麻烦了,可以编写一个非常简单的bat批处理文件来实现,新建一个文本文件,写入
dot D:\Files\graphviz\graph.dot -T png -o test.png
另存为command.bat 即可,那样修改代码后保存,然后双击bat文件就可以了,同时打开照片查看器,生成的图片改变后照片查看器也会更新的。

(5)其实graphviz自己本身也有editor,位于"D:\Applications\graphviz-2.38\release\bin\gvedit.exe"
,这是我自己的安装目录,要自己手动打开,打开后如下图:
这里写图片描述

(6)在官网中也找到了其他交互式即使展示图形的软件,自己觉得最好用的是GraphvizTool ,效果图如下:
这里写图片描述
执行run Graphviz 后会直接调用照片查看器打开生成的图片,
详细的说明参看英文教程即可,说明一下,GraphvizTool程序在"D:\Applications\GraphvizTool\dist\GraphvizFrontend.jar" 是jar文件,不同电脑可能需要配置一下java环境,我电脑运行时没问题的。

参考链接:http://blog.csdn.net/xiajian2010/article/details/23748557

Graphviz是一个开源的图形可视化工具,可用于绘制各种图形,包括有向图、无向图和树等。在使用Python中的Graphviz库时,可以参考官方文档和一些实例来学习和使用该库。 在Python中使用Graphviz可以通过以下步骤来实现图形可视化: 1. 首先,确保已经安装了Graphviz软件,并将其添加到系统路径中。 2. 导入需要的库和模块,比如导入sklearn.tree中的export_graphvizgraphviz库。 3. 通过export_graphviz函数将模型转换为DOT格式的数据,其中模型可以是决策树等。 4. 使用graphviz.Source函数将DOT数据源导入到Graphviz对象中。 5. 可以选择将图形保存为文件,使用render函数,或者直接在Jupyter Notebook中显示图形。 下面是一个示例代码,展示了如何使用Graphviz库来生成决策树模型的可视化: ```python from sklearn.tree import export_graphviz import graphviz dot_data = export_graphviz(model, out_file=None, class_names=['0', '1']) graph = graphviz.Source(dot_data) graph.render('决策树可视化') ``` 这段代码将决策树模型转换为DOT格式,然后使用graphviz.Source函数将其导入到Graphviz对象中。最后,使用render函数将图形保存为文件,在本例中保存为"决策树可视化"。 需要注意的是,具体的使用方法可能因为版本和环境的不同而有所差异。因此,在使用Graphviz时,建议参考官方文档和一些实例,并根据自己的需求进行调整和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [[python] python模块graphviz使用入门](https://blog.csdn.net/LuohenYJ/article/details/106172201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Graphviz安装及使用:决策树可视化](https://blog.csdn.net/qq_45832050/article/details/109271806)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值