3

こんにちは、私は geom_line 関数を使用して R で折れ線グラフを作成しようとしています。各線に特定の色を割り当てたいのですが、それができません。色を手動で割り当てようとすると、色の名前が変数として取得され、凡例ではアルファベット順に配置されます。そうしないと、まったく色が出ません。また、Web を見回したところ、色を割り当てることができるグループ化変数が必要であることに気付きました。残念ながら、ここにある私のデータセットでは、各列が異なる変数に対応しています。これらの変数を x 軸上の 2000 を超える値に対してプロットしようとしているため、データセットの転置が機能するかどうかはわかりません。ここで非常に単純なものが欠けていると思います。

ggplot(data=data, aes(xvar))+
geom_line(aes(y=var1))+
geom_line(aes(y=var2))+
geom_line(aes(y=var3))+
geom_line(aes(y=var4))

ここに画像の説明を入力

これが以前に回答されている場合は、これを別のセクションにリダイレクトしてください。どんな助けでも大歓迎です。

コードが次のような ggplot2 関数を使用せずに手動で行うこともできます。

plot(data$Wavelength,data$var1,col="green")
par(new=T)
plot(data$wavelength,data$var2,col="red")
par(new=T)
plot(data$wavelength,data$var3,col="purple")
par(new=T)
plot(data$wavelength,data$var4,col="black")
par(new=F)

ここに画像の説明を入力

4

1 に答える 1

7

役立つショートカットを次に示します。

dat <- data.frame(wave = 1:100,
                  var1 = sort(rnorm(100)),
                  var2 = sort(rnorm(100, 1)),
                  var3 = sort(rnorm(100, 2)))

plot(dat$var3, col = 'blue', type = 'l')
lines(dat$var2, col = 'red')
lines(dat$var1, col = 'green')

ここに画像の説明を入力

library(reshape2)
library(ggplot2)

dat.m <- melt(dat, id.vars = 'wave')

ggplot(dat.m, aes(wave, value, colour = variable)) + geom_line()

ここに画像の説明を入力

ggplot(dat.m, aes(wave, value, colour = variable)) + geom_line() + 
  scale_colour_manual(values = c('pink','orange','white'))

ここに画像の説明を入力

于 2014-04-20T01:46:02.633 に答える