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 ...
随机推荐
- java集合:常用集合的数据结构
List 有序可重复 ArrayList ArrayList数据结构是数组.查询快,增删慢.ArrayList是线程不安全的,允许元素为null . Vector 线程安全的数组,效率较差,已经过时不 ...
- leetcode 21 Merge Two Sorted Lists 合并两个有序链表
描述: 合并两个有序链表. 解决: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (!l1) return l2; if (!l2) ...
- php防止会话固定攻击
问题:希望确保应用不会受到会话固定攻击,即攻击者强制用户使用一个预定义的会话id. 解决方案:要求使用会话cookie但会话标识符不追加到URL,另外要频繁地生成新会话ID: <?php ini ...
- 关于java项目中的.project文件:
.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置
- [SoapUI]怎样从应答报文中获取某个字段的值,然后用其改写某个变量
import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def holde ...
- Please ensure that adb is correctly located at 。。。。。。。。。。。。
遇到问题描述: 运行Android程序控制台输出 [2012-07-18 16:18:26 - ] The connection to adb is down, and a severe error ...
- 禁止进入activity自动弹出键盘
禁止进入activity自动弹出键盘 在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUn ...
- 【转载】RHEL / CentOS 7 用 Yum 安裝 MySQL 5.6
久久未更新... 换好工作出去玩耍了一趟, 现在安装机器啦~ 装一个mysql 到centos 7, 一次转载一篇文章, 记录下: 原文地址:http://www.phpini.com/mysql/r ...
- redis cluster 使用中出现的问题
问题一 redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirectio ...
- (广搜)Catch That Cow -- poj -- 3278
链接: http://poj.org/problem?id=3278 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6211 ...