11
我試圖實現多色文字在這裏:多色職稱GGPLOT2的R
其中引用此:
這是我想出了(在here的幫助下):
require(ggplot2)
require(grid)
png(file="multicolortitle.png",width=800,height=500)
qplot(x = hp,y = mpg,data = mtcars,color=factor(mtcars$cyl),size=2) +
scale_colour_manual(values = c("red3","green3","blue3")) +
theme_bw() +
opts(title = " \n ") +
opts(legend.position = "none")
spacing <- 20
grid.text(0.5, unit(1,"npc") - unit(1,"line"),
label=paste("4 cylinder,",paste(rep(" ",spacing*2), collapse='')),
gp=gpar(col="red3", fontsize=16,fontface="bold"))
grid.text(0.5, unit(1,"npc") - unit(1,"line"),
label=paste(paste(rep(" ",spacing), collapse=''),"6 cylinder,",
paste(rep(" ",spacing), collapse='')),
gp=gpar(col="green3", fontsize=16,fontface="bold"))
grid.text(0.5, unit(1,"npc") - unit(1,"line"),
label=paste(paste(rep(" ",spacing*2), collapse=''),"8 cylinder"),
gp=gpar(col="blue3", fontsize=16,fontface="bold"))
grid.text(0.5, unit(1,"npc") - unit(2,"line"),
label=paste(paste(rep(" ",spacing*0), collapse=''),
"- Horsepower versus Miles per Gallon"),
gp=gpar(col="black", fontsize=16,fontface="bold"))
dev.off()
這裏的結果圖:
所以,我的問題:是否有用於該更優雅的方法是什麼?例如,我希望能夠使用ggsave
,爲此創建間距是一個高度手動的過程 - 不適用於需要自動創建數百個此類特性的情景。我可以看到在這之上編寫了一些函數,但是也許有更好的方法來實現基本繪圖函數使用的方法嗎?
你想使顏色自動地在劇情相同嗎? – 2012-08-15 21:52:50
我認爲這會很好,因爲我認爲你可以將'scale_colour_manual'中的'values'作爲向量,然後調用values [1]等等,可能會追加黑色,所以它會是值[4]。如果沒有手動選擇,那麼將它拖到劇情中使用的顏色將會很酷,我不確定我會怎麼做,但我敢打賭,這是記錄在某處的:/。 – ideamotor 2012-08-15 22:06:43
歡迎來到Stack Overflow的R社區! – Gregor 2012-08-17 07:28:48