我嘲笑了下面的代碼以提供上下文。函數,序列間隔,名稱和顏色都是任意的。爲多層ggplot2繪圖創建任意圖例排序
library(ggplot2)
function1 <- function(input) {
input * 3
}
function2 <- function(input) {
2 * input + 1
}
function3 <- function(input) {
input + 4
}
x1 <- seq(1, 10, 0.1)
x2 <- seq(1, 10, 0.2)
x3 <- seq(1, 10, 0.5)
y1 <- sapply(x1, function1)
y2 <- sapply(x2, function2)
y3 <- sapply(x3, function3)
data1 <- data.frame(x1, y1)
data2 <- data.frame(x2, y2)
data3 <- data.frame(x3, y3)
ggplot() +
geom_point(data = data1, aes(x1, y1, color = "B")) +
geom_point(data = data2, aes(x2, y2, color = "C")) +
geom_point(data = data3, aes(x3, y3, color = "A")) +
scale_color_manual(name = "Functions",
values = c("B" = "Green", "C" = "Red",
"A" = "Blue")) +
xlab("X") +
ylab("Y")
下面是導致情節的截圖:
有幾個以前回答問題,解決類似的問題與傳說排序,如本one,但沒有人可以處理與多層地塊。這question解決了版本0.9.2的圖例排序,但是ggplot2 is currently on version 2.2.1。此外,它似乎只處理升序或降序。
我想知道是否有任何方法來自定義圖例中值的順序。例如,在圖例中,是否可以將它顯示爲B,C,A而不是A,B,C?
你不需要'sapply'運行的功能。你可以做'y1 = function1(x1)'等。 – eipi10
感謝您的提示。我對R很新,所以我仍然在搞清楚。 – arbitrarystringofletters