2017-03-16 51 views
1

我有一個小節小節圖,它顯示了兩種算法的三種不同度量。 summary plot在R中的每個小節組的頂部添加小節差異值

如何在每個欄的頂部添加這兩種不同算法之間的增加/減少百分比?例如,在精度條頂部,我們應該有-0.017,覆蓋條頂部應該有+0.3867。

這裏是我的R代碼裏面:

als_precision<-0.27069 
als_ndcg<-0.1523 
als_coverage<-362/3233 

als_reg_precision<-0.2659 
als_reg_ndcg<-0.1520 
als_reg_coverage<-502/3233 


barplot(matrix(c(als_precision,als_reg_precision,als_ndcg,als_reg_ndcg,als_coverage,als_reg_coverage),nr=2), beside=T, 
     col=c("red","blue"), 
     names.arg=c("[email protected]","[email protected]","coverage")) 
legend("topright", c("ALS","ALS+reg"), pch=15, 
     col=c("red","blue"), 
     bty="n") 
+0

爲文本?看看'text()'。 –

回答

2

您可以使用text的文本添加到情節。

編輯原來沒有用百分比的變化。

barplot(matrix(c(als_precision,als_reg_precision,als_ndcg,als_reg_ndcg, 
     als_coverage,als_reg_coverage),nr=2), beside=T, 
     col=c("red","blue"), ylim=c(0,0.30), 
     names.arg=c("[email protected]","[email protected]","coverage")) 
legend("topright", c("ALS","ALS+reg"), pch=15, 
     col=c("red","blue"), 
     bty="n") 

text(2, max(als_precision, als_reg_precision)+0.01, 
    round((als_reg_precision - als_precision)/als_precision,3)) 

text(5, max(als_ndcg, als_reg_ndcg)+0.01, 
    round((als_reg_ndcg - als_ndcg)/als_ndcg,3)) 

text(8, max(als_coverage, als_reg_coverage)+0.01, 
    round((als_reg_coverage - als_coverage)/als_coverage,3)) 

Bar Chart

+0

所有這些最大值,最小值計算的原因是什麼? – HimanAB

+0

每個文本語句只需要一個最大值。我誤解了這個問題。其餘的最大值是在_highest_欄之上。 – G5W

+0

謝謝。如何在沒有計算的情況下添加這些文本?例如,我可能希望將「+0.37」作爲文本。 – HimanAB