graphviz画图与中文乱码等问题总结
最近想写一些文档,画一些程序的逻辑图,用了vision,markdown等软件感觉不怎么好用,于是找到graphviz,这款强大的软件。下面介绍一些入门,还有自己在用的过程中遇到的问题
1、中文乱码的问题。
采用graphviz.exe的界面编写好图形语句之后生成图片中文文字显示都没问题,当关闭.gv文件之后再打开.gv文件那么原来里面的中文就会出现乱码。在网上搜到一个解决的办法,重新设定中文自定即:
找到安装路径在 C:\Program Files\Graphviz 2.21\etc\fonts\fonts.conf,找到以下这行: <dir>#FONTDIR#</dir>
改成 Windows 字型路径: <dir>C:\WINDOWS\Fonts</dir>
我没有成功,可能是版本不对,我就没有找到<dir>#FONTDIR#</dir>。
2、闪退的问题。
采用graphviz.exe编辑.gv文件,当编写的内容太多的时候就会出现自动关闭的情况,这个就让我不能忍受了,只能采用.dot或者.gv文件来搞了。
3、下面是自己的一个例子,用例子来解释一下dot的基本语法
digraph main {
//graph[rankdir="LR",rank="same"];
/* 这一段是用来注释的
这里可以描述这段图片意义
*/
//子图(使用subgraph声明)可以进行和“父图”类似的设置,唯一注意的是子图必须以cluster做为名称的前缀,这点要注意,不用cluster的话就没有效果了
subgraph cluster_0 {
//这段是图cluster_0的属性,可以直接在这里面写
style=filled;
color=lightgrey;
fontname="KaiTi";
label = "主流程";
node [style=filled,color=white,fontname="SimSun",shape=box];
graph[rankdir="LR",rank="same"];
a0 -> a1[label="XXX"];
a1-> a2[label="XXX"];
a2-> a3[label="XX"];
a0[label="start",style=filled,color=red];// 这个节点的颜色会把上的color=white的颜色给覆盖了
}
subgraph cluster_1{
graph[rankdir="LR",rank="same"];
//rankdir="LR";
//rank="same";
node [style=filled, color=red,shape=box];
edge[style=dashed];
label="节点流程";//这个会乱码
a1->b0[label="yyy"];
b0-> b1[label="yyx"];
b1-> b2 [label="xke"];
b2-> b3;
}
}
4、每次运行程序生成图片的命令是:dot -Tpng myimage.dot/myimage.gv -o image.png,反复输入的话会比较烦,如果用一些文本编辑器,可以写一个运行python的脚本会很快,在windows下我们也可以写成批处理脚本比如my.bat,里面就写一句话,以后每次生成图片的时候换个名字就好了。
my.bat
Rem dot -Tpng myimage.dot -o image.png
pause;
dot -Tpng myimage.dot -o myimage.png
pause;
附:windows系统中文字体的英文名
新細明體:PMingLiU
細明體:MingLiU
標楷體:DFKai-SB
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微軟正黑體:Microsoft JhengHei
微软雅黑体:Microsoft YaHei
【参考博客】
1、http://blog.csdn.net/lanchunhui/article/details/49472949
2、http://smallx.me/2016/04/10/%E4%BD%BF%E7%94%A8Graphviz%E7%BB%98%E5%88%B6%E6%B5%81%E7%A8%8B%E5%9B%BE%E5%92%8C%E5%85%B3%E7%B3%BB%E5%9B%BE/
3、http://www.graphviz.org/Home.php
4、https://xstarcd.github.io/wiki/windows/windows_cmd_summary_commands.html
graphviz画图与中文乱码等问题总结的更多相关文章
- python3 使用matplotlib画图出现中文乱码的情况
python3使用matplotlib画图,因python3默认使用中unicode编码,所以在写代码时不再需要写 plt.xlabel(u’人数’),而是直接写plt.xlabel(‘人数’). 注 ...
- Graphviz使用简介(中文乱码的问题)
Graphviz使用简介 graphviz是基于dot语言的绘图工具,可以画有向图.无向图.关系图.目录图.流程图等.具体作用可见它的官方网站 一些参考的网址: http://www.open-ope ...
- graphviz 决策树绘图中文乱码解决方法
1.修改graphviz配置文件 <dir>C:\WINDOWS\Fonts</dir> 更改为 <dir>~/.fonts</dir> 2.将决策树d ...
- python matplotlib.plot画图显示中文乱码的问题
在matplotlib.plot生成的统计图表中,中文总是无法正常显示.在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图 ...
- Jupyter Notebook里面使用Matplotlib画图 图表中文乱码问题
可查看以下链接: https://blog.csdn.net/ccblogger/article/details/79613335
- Python画图matplotlib展示图中中文乱码
在用python的 matplotlib 画图的时候,在图表上面有中文乱码问题,如下的: 解决过程: 平台:windows,python2.7步骤一:打开设置文件 import matplotlib ...
- seaborn(matplotlib)画图,linux系统中文乱码等问题解决
data = pd.read_json(json.dumps(issue_dpl)) # set pic size plt.figure(figsize=(13, 5)) sns.set_style( ...
- 如何解决 Matlab 画图时中文显示乱码的问题?
使用的是win10系统,从前几个月某一天,我的matlab的figure里的中文都变成了口口.很是郁闷,还以为是动到了什么配置引起的. 前几天更新了matlab 2018b,发现还有这个问题.就觉得不 ...
- redhat6.3 jfreechar中文乱码解决途径
最近使用到jfreechar的项目,在转移到linux上面时出现中文乱码(中文被显示为框框),网上查了一些资料,结合自身系统的特性,总结了一种安装字体的方式.在说字体安装之前首先上个测试的代码吧:we ...
随机推荐
- 打劫房屋 · House Robber
[抄题]: 假设你是一个专业的窃贼,准备沿着一条街打劫房屋.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警 ...
- 基于Bind实现的DNS正反向解析及主从DNS的配置
一.什么是DNS? 1.1 简单的理解,Domain Name System,是互联网一项核心的服务,他作为一个桥梁可以将域名和IP地址相互因素的一个分布式数据库,能够使人更加方便的访问互联网,而不用 ...
- SqlMapConfig.xml配置文件中的properties属性
1.原始的SqlMapConfig.xml配置文件的内容为: <?xml version="1.0" encoding="UTF-8" ?> < ...
- re 正则模块
re模块(* * * * *) 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列 ...
- MinDos--操作系统
MinDos--操作系统 总结 : 本次实现的是功能是为 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 ...
- (OK) 国内常用NTP服务器地址及IP
https://www.douban.com/note/171309770/ ntpdate s2c.time.edu.cn 北京邮电大学 ntpdate s2m.time.edu.cn ...
- Zookeeper 源码(三)Zookeeper 客户端源码
Zookeeper 源码(三)Zookeeper 客户端源码 Zookeeper 客户端主要有以下几个重要的组件.客户端会话创建可以分为三个阶段:一是初始化阶段.二是会话创建阶段.三是响应处理阶段. ...
- 【美食技术】家庭自制DIY鸡蛋饼和疙瘩汤早餐视频教程
鸡蛋饼制作方法 食材准备面粉 150g鸡蛋饼 鸡蛋饼鸡蛋 2个盐 适量水 适量(约300ml)油 20g荵花适量也可根据自己喜好准备一些调味料. 做法 鸡蛋饼是一种家常点心,做法很多,这里提供3种. ...
- js的prototype(2)
1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 2 javasc ...
- 11 Mortal Fibonacci Rabbits
Problem Figure 4. A figure illustrating the propagation of Fibonacci's rabbits if they die after thr ...