私は文脈を提供するために次のコードを嘲笑しました。機能、シーケンス間隔、名前、および色はすべて任意です。ここで多層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です。さらに、それは昇順または降順のみを扱うようです。
凡例の値の順序をカスタマイズする方法があるかどうかをご確認ください。たとえば、凡例では、A、B、Cの代わりにB、C、Aとして表示できますか?
あなたが機能を実行するために、 'sapply'は必要ありません。あなたは 'y1 = function1(x1)'などを行うことができます。 – eipi10
チップをありがとう。私はRのことがかなり新しいので、まだ物事を考え出しています。 – arbitrarystringofletters