2012-02-10 101 views
3

我有一個函數,用於記錄在運行時如何調用方法。我試圖用點來可視化這些信息。一些方法被多次調用 - 例如,在循環的情況下 - 在圖中我想只有一條線連接兩個節點 - 是否有交換機對此執行...請參閱示例圖「RawFitsData._method」調用「RawFitsData。init」;多次,在該圖中,我想只顯示一條線enter image description hereDOT - 如何減少連接兩個節點的線路

digraph G{ 
    splines=false; 
    ranksep=1; 
node[shape=box, color=grey, style=filled]; 


    "DBProxy.fetch_from_database" -> "RawFitsData._method"; 
    "RawFitsData._method" -> "RawFitsData.__init__"; 
    "RawFitsData._method" -> "RawFitsData.__init__"; 
    "RawFitsData._method" -> "RawFitsData.__init__"; 
    "RawFitsData._method" -> "RawFitsData.__init__"; 
"RawFitsData._method" -> "RawFitsData.__init__"; 
    "RawFitsData.__init__" -> "RawFitsData._method"; 
    "RawFitsData._method" -> "RawFitsData.__init__"; 
    "RawFitsData.__init__" -> "RawFitsData._set_pathname"; 
    "RawFitsData._set_pathname" ->"split"; 
    "RawFitsData._set_pathname" ->"setter"; 
    "RawFitsData.__init__" -> "RawFitsData._get_pathname"; 
    "RawFitsData._get_pathname" ->"getter"; 
    "RawFitsData._get_pathname" ->"join"; 
    "deepcopy" ->"RawFitsData._method"; 
    "RawFitsData._method" -> "RawFitsData.__reduce__"; 
    "RawFitsData.__reduce__" -> "WeakValueDictionary.__setitem__"; 
    "RawFitsData.__reduce__" ->"getter"; 
    "RawFitsData.__reduce__" -> "RawFitsData._get_pathname"; 
    "RawFitsData._get_pathname" ->"getter"; 

    } 

回答

5

使用嚴格有向圖。

strict digraph G { 
    splines=false; 
    ... 

它將省略重複的邊緣。參考:DOT documentation