碼農看《易經》-用Graphviz建立《易經》關係圖

看《易經》,一直也搞不懂為啥選《屯》卦作為第三卦(網上沒查到)。然後忽發奇想,想做一下易經各卦爻之間的關係圖,看看能不能找出什麼規律。

說起畫圖,想到了Graphviz(http://graphviz.org),是一個根據描述文件生成圖形的軟件,內置dot語言。

Mac上安裝:

brew install graphviz

創建一個iChange.gv文本文件,內容如下:

digraph iChang {   edge [     label=互; //互卦關係     fontcolor=brown     color=brown   ]   乾為天 -> 乾為天   坤為地 -> 坤為地   ...   edge [     label=錯 //錯卦關係     fontcolor=navy     color=navy   ]   乾為天 -> 坤為地   坤為地 -> 乾為天  ...   edge [     label=綜 //綜卦關係     fontcolor=magenta     color=magenta   ]   乾為天 -> 乾為天   坤為地 -> 坤為地   ...   edge [     label=1 // 第一爻是變爻     fontcolor=red     color=red   ]   乾為天 -> 天風姤   坤為地 -> 地雷復   ...   edge [     label=2 // 第二爻是變爻     fontcolor=orange     color=orange   ]   ...   edge [     label=後序 // 卦序中的後序關係     fontcolor=black     color=black   ]   乾為天 -> 坤為地   坤為地 -> 水雷屯   ...

這裡用到了比較基礎的dot語法,由於dot中沒有定義edge的功能,只能一組edge一組edge地設置。執行:

dot -Ksfdp -Tpng iChang.gv -o all.png && open all.png

生成並打開生成的圖形文件。

其實《易經》中的有些關係並不算是有向圖,是對稱的,可以用

graph [   concentrate=true] 

edge [   dir=none ]

將其合併成單條無向圖。

由於我想考察各種關係,就把不需要的edge註釋掉,然後生成圖,下面是幾個有意思的圖:

1)綜卦關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

圖裡面有八個”自反“關係,其它都是對稱關係,跟卦序有一定關係(二二相偶,非覆即變)。

2)錯卦關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

是“反面”關係的各組卦。

3)互卦關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

互卦的性質決定了,能做別人互卦的只有16個,而且分3層,看到了嗎。

4)第一爻關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

變爻關係都是”對稱“的。

5)第一爻+第二爻關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

看起來是二維。

6)第一爻+第二爻+第三爻關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

看起來是三維的:),圖中那幾個不像立方體的只是生成圖片時結點擺放產生的視覺偏差。

7)前四爻關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

這個就複雜了,是四維麼?貌似比四維超立方體結構要複雜。

8)前五爻關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

64卦分成了兩部分,是幾維?

9)六爻關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

What a mess!

10)乾坤屯關係圖


碼農看《易經》-用Graphviz建立《易經》關係圖

還是看不出來為啥把《屯》卦放在了第三卦。

這種圖固然好生成,但每次修改edge還是很費勁。當初應該把關係錄入”圖數據庫“,然後查詢生成各種不同的圖。沒做過,也許也挺麻煩。

以上內容純屬臆想,希望易學大師一笑而過。

知識都學雜了!


分享到:


相關文章: