Graphiz是绘图软件,具有很多优秀的特点,比如自动计算节点的位置。

1.原始的手稿

2.最终的結果:

3. 代码

digraph european
{
//定义样式
graph [label="Created by Young\n参考文献:钱乘旦主编,欧洲文明:民族的融合与冲突,贵州人民出版社,1999年4月\n感谢周巩固教授,感谢高哥."];
rankdir=LR;
//重要源头
node [shape=doublecircle, style = filled, color=cornflowerblue];
日尔曼 罗马 希腊 斯拉夫人 北欧海盗;
//现代国家
node [shape=box, style = filled, color=gray95];
德国 法国 英国和爱尔兰 意大利 苏联 俄罗斯 罗马尼亚;
//亚洲民族
node [style = solid, color=red];
"hun" [label="<h>匈奴|<a>阿兰人" shape = "record"];
"蒙古" [label="蒙古:|<t>帖木儿,突厥化|<b>拔都" shape = "record"];
"中国" [label="中国:|<h>汉|<t>唐" shape = "record"]
突厥;
//其他民族
node [shape=box, style=solid, color=black]; //, style = "filled,rounded", color=lightgrey
"德意志(条顿?)";
"m" [label="<m>马扎儿|<h>匈奴后代" shape = "record"];
"神圣罗马帝国" [label="神圣罗马帝国(奥托,腓特烈)"];
"东罗马" [label="东罗马(拜占庭)"];
"克尔特" [label="克尔特(凯尔特)"];
"不列颠" [label="<e>英格兰|<s>苏格兰|<w>威尔士|<i>爱尔兰" shape = "record"];
"南斯拉夫" [label="南斯拉夫人:|保加利亚|塞尔维亚|斯洛文尼亚|克罗地亚|黑山|马其顿" shape = "record"];
"东斯拉夫" [label="东斯拉夫人:|<r>俄罗斯|白俄罗斯|乌克兰|(第聂伯河,顿河,伏尔加河,黑海北岸)" shape = "record"];
"西斯拉夫" [label="西斯拉夫人:|<r>波兰|捷克人|斯洛伐克人|(维斯瓦河,奥德河,易北河)" shape = "record"];
//攻击
edge [arrowhead=onormal color=red fontcolor=red];
"德意志(条顿?)" -> m:m [label="灭"];
"中国":h -> hun:h;
"中国":t -> 突厥;
hun:h -> 法兰克人;
法兰克人-> "克尔特" [label="高卢"];
hun:h -> 哥特人 [arrowhead=onormal];
hun:h -> 斯拉夫人 [label="西征" labeldistance=0.5];
"神圣罗马帝国" -> 立陶宛 [label="东进运动"];
"神圣罗马帝国" -> 波兰 [label="东进运动"];
东罗马 -> 东哥特人 [label="灭"];
哥特人->斯拉夫人;
西哥特人->西罗马 [label="灭"];
罗马 -> 希腊化国家 [label="灭"];
奥斯曼土尔其 -> 十字军;
奥斯曼土尔其 -> 东罗马 [label="灭"];
"蒙古":t -> 奥斯曼土尔其;
"蒙古":b->东斯拉夫:r;
丹麦人->"不列颠":e [label="几进几出"];
挪威人->"不列颠":i;
诺曼人->"不列颠":e [label="诺曼征服"];
瑞典人->芬兰人;
// ------------------------------
//形成
edge [label="" arrowhead=vee color=black fontcolor=black];
日尔曼->哥特
日尔曼->哥特人->西哥特人;
哥特人->东哥特人;
日尔曼->法兰克
日尔曼 ->  法兰克人 ;
日尔曼->德意志
日尔曼 -> "德意志(条顿?)" -> "神圣罗马帝国" ->  奥地利;
"神圣罗马帝国" ->  瑞士;
"芬兰-乌果尔人(乌拉尔山,卡马河,伏尔加河)" -> "m":m;
m -> 匈牙利;
波罗的人 -> 立陶宛;
日尔曼->汪达尔
日尔曼->汪达尔人->去伊比利亚->去北非;
日尔曼->盎格鲁-撒克逊; 不列颠
日尔曼->"盎格鲁-撒克逊"->不列颠:e;
"盎格鲁-撒克逊"->不列颠:s;
克尔特->不列颠:w;
克尔特->不列颠:i;
//希腊,罗马
罗马 -> 东罗马;
罗马 -> 西罗马;
罗马 -> 罗马尼亚;
达契亚人 -> 罗马尼亚;
色雷斯人 -> 达契亚人;
希腊化国家 -> 东罗马;
希腊 -> 希腊化国家 [与马其顿一起];
//斯拉夫
南斯拉夫
斯拉夫人->南斯拉夫 [label=匈奴西征导致南迁];
斯拉夫人->东斯拉夫;
斯拉夫人->西斯拉夫;
//北欧海盗
北欧海盗->挪威人;
挪威人->"不列颠":i [label="同化于"];
北欧海盗->丹麦人->诺曼人;
北欧海盗->瑞典人;
瑞典人->"东斯拉夫":r [label="基辅,同化为"];
//其他,来自亚洲
突厥 -> 奥斯曼土尔其;
hun:h -> m:h;
hun:a -> 葡萄牙;
//后来
edge [style=dashed];
神圣罗马帝国->德国 ;
法兰克人-> 法国;
不列颠->英国和爱尔兰;
西罗马->"分裂,割据,被入侵"->意大利;
"东斯拉夫"->苏联->俄罗斯;
//单独的国家
node [shape = "record" style=dotted];
"不列颠的变迁" [label="不列颠的变迁:|伊比利亚人 ↓|克尔特 ↓|罗马 ↓|盎格鲁-撒克逊"];
"西班牙的变迁" [label="西班牙的变迁:|日尔曼\n(西哥特,苏维汇;\n汪达尔人途经去北非) ↓|阿拉伯人+北非摩尔人 ↓|收复失地运动+十字军 ↓|阿拉贡+卡提斯王国"];
}

4. 运行

$ dot -Tjpg /home/young/european.dot > /home/young/european.jpg

5.长春暴雪,更多照片在 [http://www.douban.com/photos/album/81340565/].

graphiz应用一例:欧洲上古和中世纪民族变迁相关推荐

  1. 欧洲为何没有互联网巨头?

    欧洲为何没有互联网巨头? Rocket Internet这个欧洲的一线互联网公司,官网上赫然写着"做美国和中国之外最大的互联网公司",似乎已经从内心里,把自己和中美互联网公司放在了 ...

  2. 从古欧洲的四大族群变迁梳理欧洲两千年历史脉络

    我们看今天的欧洲,不难发现有几种完全不同的生活方式和行为习惯,以北欧三国再加英德与荷兰等国人为代表,他们信奉新教,勤劳,做事一丝不苟,颇为绅士,所以瑞典.英国.德国创造出了极其辉煌的工业文明. 然后, ...

  3. 《做有质感的民族》方文山

    很高兴来到北京大学和各位同学进行这场文化上的交流与经验的分享.我今天所要演讲的题目是:"一个没有质感的民族."我在这里所指的民族,不是别人,就是 我们华人自己.而华人一词的称谓泛指 ...

  4. 一种实现人工智能程序自进化的概念原理

    本文主要论述六点: 1.能自我学习.自我控制.自我进化(此进化内涵更接近拉马克式自体进化,而非达尔文式代际进化)的信息处理控制能力就叫智能:(从动态式模式的角度定义智能内涵,而非从静态式功能的角度定义 ...

  5. 微积分(Calculus)

    微积分(Calculus)是研究函数的微分.积分以及有关概念和应用的数学分支. 它是数学的一个基础学科.内容主要包括极限.微分学.积分学及其应用.微分学包括求导数的运算,是一套关于变化率的理论.它使得 ...

  6. gwas snp 和_eQTL和GWAS还可以这样玩

    背外侧前额叶皮层中条件eQTL的图谱与精神分裂症GWAS的共定位 摘要: 本文利用467例人脑样本的基因型和基因表达水平进行了全面分析,展示了特定细胞或时间背景下提高GWAS关联映射的条件eQTL信号 ...

  7. 我们如何走到今天:重塑世界的6项创新

    当我爱着某个人时,我希望他能在我身边,一起吃饭,一起看夕阳.但如果办不到,那我知道他和我看着同一个太阳就够了.让爱人和自己都能在恋爱中获得释放.这是年老才有的智慧.--玛雅·安吉洛 我们的生活是围绕一 ...

  8. 古希腊的对外战争,兼谈希腊罗马的军制和战斗力

    象大多数军事爱好者一样,在下对军事感兴趣,是从读二战开始的.自11岁从父亲单位图书馆借来古德里安的回忆录"闪击英雄"开始,到现在将近20年,还是在看二战.可是毕竟二战只有6年时间, ...

  9. 向暴雪(BLIZZARD)学什么

    来源:中国营销传播网 http://info.china.alibaba.com/news/detail/v5003008-d1000032628.html 向暴雪(BLIZZARD)学什么? 几乎所 ...

最新文章

  1. mysql截取栏目字符_substring从指定字符串开始截取(图)
  2. java加载dll UnsatisfiedLinkError: no mydll in java.library.path
  3. html语言怎么添加图片,我想问你一下,你是怎么在html中插入本地图片?非常感谢...
  4. jq localStorage
  5. AfxGetMainWnd( )函数
  6. esp8266 html文件,ESP8266 基ESP8266_RTOS_SDK (ESP-IDF )中嵌入网页文件(示例代码)
  7. C语言基础知识----注意事项
  8. 【java】JVM Attach机制实现与jstack使用(jvm参数DisableAttachMechanism)
  9. linux acl库编译与使用,linux的ACL-rds数据删除了可恢复吗?-WinFrom控件库|.net开源控件库|HZHControls官网...
  10. 网页跳转代码的三种方法
  11. NGINX配置gzip请求自动解压
  12. 股权比例的3种黄金分割线
  13. 提供AlTi5B催化富铝合金水解产氢材料/Ru/Ce(OH)CO3纳米材料/Al-Ga-Mg-Sn多元铝合金
  14. 计算机保存途径如何更改,如何修改“我的文档”路径方便保存文件
  15. ubuntu不支持安装搜狗_Ubuntu下安装搜狗输入法已经fcitx升级后搜狗输入法不能使用的解决办法...
  16. 导入Maven项目右下角蓝色小框消失解决办法
  17. ASP.NET MVC --- 身份认证与授权
  18. php实现易班登录,简单的易班申请授权以及使用方式
  19. 简悦保存notion一直显示请稍后重试
  20. 毫米波雷达相关知识调研

热门文章

  1. 数据结构 严薇敏 顺序表的实现(增 删 改)及其使用方法详解
  2. 网络数据泄露事件频发,个人隐私信息如何保护?
  3. java远程连接linux并发送命令,两种方案比较Jsch与ganymed-ssh2
  4. tensorflow出现报错: Could not locate zlibwapi.dll或者Could not load library cudnn_cnn_infer64_8.dll.
  5. bedtools2安装报错:fatal error: zlib.h
  6. 快速创建React Native App
  7. 如何培养自己的编程兴趣
  8. 为啥翻唱的也特别好听呢,听J Fla 的 despacito
  9. wish新店快速出单的方法
  10. 最长公共子序列(LCS)算法