上繪製某些最小閾值以上的邊緣我有一個很大的轉換矩陣,我想繪製一個r圖。我所選擇的馬爾可夫鏈包來完成,這允許我把這種矩陣變換爲馬爾可夫鏈對象,然後如下繪製它:如何只使用markovchain在r
library(markovchain) tMat = matrix(c(0,.2,.7,.1,.3,.4,.3,.1,.4,.5),3,3) mc = new("markovchain",transitionMatrix = tMat) plot(mc)
當然,這只是一個例子,正如我之前提到的那樣,真正的轉換矩陣非常有趣。
我的問題是:如何繪製只有值大於某個最小閾值的邊?如果我試圖「清零」低於某個閾值的所有值,馬爾科夫鏈就會抱怨這些行不會加在一起(因爲它不再是一個單一的社交矩陣)。但是對於一個非常複雜的圖,連接到一個頂點的邊總和爲1並不重要,更重要的是圖保持可讀性。有沒有辦法做到這一點?
我知道plot函數是建立在igraph.plot之上的,所以我希望有一些選擇可以幫助嗎?
任何建議將不勝感激!
-Paul woops:我回答了我自己的問題。只是想離開這裏這情況下,其他人遇到同樣的問題:你可以簡單地創建馬爾可夫鏈的對象,然後進入其transitionMatrix屬性和直接編輯值: [email protected][[email protected]<.2] = 0
現在上帝的後續問題實際上得到了原始問題,並且會是一個更好的解決方案:如何僅抑制圖形輸出中的數字而不是完全刪除線條?它導致以前連接的節點/頂點成爲島嶼的醜陋情況。我認爲這將涉及到存儲這些值的igraph.plot對象的部分,即使在重新分類之後,我也不知道該如何做。
謝謝!這正是我所期待的。應該給我足夠的能夠使用igraph文檔回答我自己的問題。 – Paul