2017-06-20 83 views
0

The plot between e_values and r_values, the values of probabilities of fp0 indicated by different colors of my color scale.我有一個有132行3列的矩陣。這些矩陣的名稱分別是e_values,r_values和fp0.Now如何繪製矩陣的彩色圖?該圖必須在y軸上具有e_values,在x軸上具有r_values,並且將fp0的各種值作爲顏色。在0.1的間隔中,e_values從0變化到0.5,並且r_values從0變化到6.5,在間隔0.5到4,然後是0.2到4到6.5,我的fp0值基本上是我的概率,所以他們從0到1變化。我想不出如何上傳我的csv文件,所以我給了我的描述矩陣和我也打印我的矩陣。我對R也很新,對像ggplot2和其他類似軟件包的工作方式很不熟悉,所以如果我得到詳細的解釋,它將非常有幫助。如何在r中製作一個矩陣的彩色圖表

 e_values r_values fp0 
    1 0   0   1.0000 
    2 0.1  0   1.0000 
    3 0.2  0   1.0000 
    4 0.3  0   1.0000 
    5 0.4  0   1.0000 
    6 0.5  0   1.0000 
    7 0   0.5  1.0000 
    8 0.1  0.5  1.0000 
    9 0.2  0.5  1.0000 
    10 0.3  0.5  1.0000 
    11 0.4  0.5  1.0000 
    12 0.5  0.5  1.0000 
    13 0   1   1.0000 

我的矩陣的推移以上述方式,直到R = 4,0.2後續的r值增加與FP0值後其也開始顯示的變化。 ,並遵循這種模式,直到沒有。的行變成132.

回答

1

你只需要在ggplot中使用fp0作爲顏色。

下面的代碼將創建您描述的情節。這裏,較暗的顏色表示較高的概率。如果你有一個離散的概率,你也可以爲每個級別使用不同的顏色(第二個圖)。

require(ggplot2) 

e_values = seq(0, 0.5, by = 0.1) 
r_values = c(seq(0, 4, by = 0.5), seq(4.2, 6.5, by = 0.2)) 

df <- data.frame(e_values = sample(e_values, 132, replace = T), 
       r_values = sample(r_values, 132, replace = T), 
       fp0 = runif(132)) 

g <- ggplot(df, aes(x = r_values, y = e_values, color = fp0)) 
g <- g + geom_point() 
g 

df <- data.frame(e_values = sample(e_values, 132, replace = T), 
       r_values = sample(r_values, 132, replace = T), 
       fp0 = sample(seq(0, 1, by = 0.2), 132, replace = T)) 

g <- ggplot(df, aes(x = r_values, y = e_values, color = as.factor(fp0))) 
g <- g + geom_point() 
g 

Continuos probabilities Discrete probabilities

編輯:您所上傳的圖片有r_values爲y軸和e_values爲x軸。此外,點的形狀是不同的。這裏是產生所希望的描繪代碼:

g <- ggplot(df, aes(x = e_values, y = r_values, color = fp0)) 
g <- g + geom_point(shape = 15, aes(fill = fp0)) 
g 

enter image description here

+0

謝謝你,尼科,我試着照你說的陰謀,但我似乎並沒有得到我desired.The情節沒有按什麼與我的矩陣值不匹配。我的矩陣名稱是M1,我編輯了我的帖子,因爲我認爲我無法有效地傳達我的查詢。請考慮看看我的修改後的帖子,然後建議我做些什麼。再次感謝。 – Aritra

+0

不知道如何自動挑選類型爲data.frame的對象的比例。默認連續。 錯誤:美學必須是長度1或與數據(132)相同:x,y,顏色 這就是我所得到的。我錯過了什麼。 – Aritra

+0

有一個顯示所需輸出的圖(可能是一個模型或示例)會非常有幫助。 此外,點圖可能不是可視化數據的最佳方式。然而,只有你可以決定哪種方法,因爲我們不知道變量的含義 – Niko