2017-08-18 83 views
1

我一直在用R的mlr軟件包中的plotLearnerPrediction函數生成一些不錯的繪圖。它們看起來像this。通過查看plotLearnerPrediction函數的源代碼,它看起來像使用geom_tile製作顏色表面。更改顏色和plotLearnerPrediction的圖例ggplot2對象

library(mlr) 
data(iris) 

#make a learner 
lrn <- "classif.qda" 
#make a task 
my.task <- makeClassifTask(data = iris, target = "Species") 
#make plot 
plotLearnerPrediction(learner = lrn, task = my.task) 

現在我想改變顏色,使用另一種紅色,藍色和綠色的色調相匹配那些我已經爲一個項目做了一些其他的地塊: 的曲線可以通過例如進行。爲此,我嘗試scale_fill_continuousscale_fill_manual沒有任何運氣(錯誤:離散值提供給連續縮放)我也希望更改圖例標題和每個圖例條目的標籤(我試圖給上述scale_fill的適當參數)。在製作劇情時,如何設置geom_tile的顏色有很多信息,但我還沒有找到關於如何進行後期製作的任何信息(即在其他人的劇情對象中)。任何幫助將非常感激。

+0

'plotLearnerPrediction'返回GGPLOT2對象,所以你應該能夠改變這些東西。你可以發佈一個完整的例子什麼不起作用嗎? –

+0

這不是我抱怨東西不工作,我只是不知道如何改變顏色和其他東西,如上所述。如果你運行上面的代碼,你會得到一個看起來像鏈接中的圖。鑑於你有這樣一個情節,你會如何改變顏色,圖例標題和圖例標籤? – Greforb

+0

你可以通過'theme()'來修改其中的一些東西,例如'p = plotLearnerPrediction(...); p +主題(legend.position =「top」)',但並非所有東西都可以通過這種方式進行定製。對於某些事情你必須修改源代碼。 –

回答

0

當您查看source code時,您會看到圖是如何生成的,然後您可以看到哪個比例尺必須被覆蓋或設置。

在這個例子中是相當容易:

g = plotLearnerPrediction(learner = lrn, task = my.task) 
library(ggplot2) 
g + scale_fill_manual(values = c(setosa = "yellow", versicolor = "blue", virginica = "red")) 

enter image description here