2014-11-24 49 views
1

我遇到的問題在從diagram包(在技術上,這是針對不同的封裝(plspm),其使用plotmat()內部和允許傳遞參數正確地指定爲plotmat()一個位置矩陣到它)。我試圖編碼的圖表代表了非常簡單的圖表,但我沒有經驗處理圖表,因此也沒有經過矩陣表示法的規範。感謝您的關注。矩陣規範簡單的示意圖,使用「圖」包

A 
    \ 
    \ 
    B--D 
    /
/
    C 

這裏是我試過(其它嘗試中):

mat <- matrix(c(1, 1, 1, 2, 1, 3, 2, 2), ncol = 2) 
plot.plspm(..., pos = mat) 

附:如果您可以建議如何控制元素A和C的垂直位置(距離B-D線的距離),請使用plotmat()

UPDATE(爲@jbaums):

enter image description here

+1

可能像'M < - (rbind(A = C 0, 0,0,0),B = c(0,0,0,0),D = c('','',0,''),C = c(0,0,0,0)); plotmat(M,pos = c(1,2,1),name = c(「A」,「B」,「D」,「C」),curve = 0,arr.width = 0)'? – jbaums 2014-11-24 15:09:28

+0

@jbaums:謝謝你的幫助!我用運行代碼的結果更新了我的問題 - 它比上面的代碼更好,但是比默認情況下由'plspm'生成的圖更差。 – 2014-11-24 15:26:20

回答

3

最後,我已經想通了自己。這有點棘手,但不是火箭科學。感謝所有試圖提供幫助的人,或至少讀過這個問題。實際上,在我弄清楚了這一點之後,我又看了一下上面的@jbaums的建議,並意識到它基本上是一樣的,並且忽略了非必要的細節。建議的解決方案(顯示錯誤,如上所示)在我的RStudio中進行了測試,而由於我的機器RStudio Server出現故障,我不得不在R-Fiddle上測試我的解決方案......同一家公司。相同(相似)的技術。去搞清楚。無論如何,這是我義不容辭最小的可重複的例子(MRE)

library(diagram) 

connect <- c(0,0,0,0, 
      0,0,0,0, 
      1,1,0,1, 
      0,0,0,0) 

M <- matrix(nrow=4, ncol=4, byrow=TRUE, data=connect) 
p <- plotmat(M, pos=c(1, 2, 1), name='', box.col="lightblue", curve=0) 

MRE結果:

enter image description here