我对R比较陌生。我正在尝试绘制从csv文件加载的数据帧。数据由6列组成,如下所示:
xval,col1,col2,col3,col4,col5
第一列(xval)由一系列单调递增的正整数(例如10,40,60等)组成,其他列列为1到5,由浮点数组成。
我想在R中创建一个情节如下:
要绘制的数据(col1,... col5)是'快照'值,所以虽然我想将它们绘制成线条,但我想要对线条进行平滑处理(即插值)。
我正在寻找一个片段,帮助我在将数据读入数据帧后创建绘图。任何帮助将不胜感激。
答案 0 :(得分:10)
看看ggplot2
#create dummy data
n <- 200
dataset <- data.frame(xval = runif(n), col1 = rnorm(n), col2 = rnorm(n, sd = 2), col3 = rnorm(n, mean = seq(0, 2, length = n)), col4 = rnorm(n, sd = seq(0, 1, length = n)), col5 = rnorm(n, mean = 1))
#convert data to long format
library(reshape)
Molten <- melt(dataset, id.vars = "xval")
#plot it
library(ggplot2)
ggplot(Molten, aes(x = xval, y = value, colour = variable)) +
geom_smooth() + geom_point()
#some tweaking
ggplot(Molten, aes(x = xval, y = value, colour = variable)) +
geom_smooth(se = FALSE) + geom_point() + theme_bw() +
scale_x_continuous("the x label") + scale_x_continuous("the y label") +
scale_colour_discrete("")