4

我对 R 比较陌生。我正在尝试绘制从 csv 文件加载的数据框。数据由 6 列组成,如下所示:

xval,col1,col2,col3,col4,col5

第一列 (xval) 由一系列单调递增的正整数(例如 10、40、60 等)组成,其他列 1 到 5 列由浮点数组成。

我想在 R 中创建一个绘图,如下所示:

  • 在 x 轴上绘制 xval 项
  • 绘制剩余的列 (col1 ... col5) 行
  • 用 col2 创建一个图例图例,... col5 重命名

要绘制的数据(col1,... col5)是“快照”值,因此虽然我想将它们绘制为线条,但我希望线条被平滑(即插值)。

我正在寻找一个片段来帮助我在将数据读入数据帧后创建绘图。任何帮助将不胜感激。

4

1 回答 1

11

看看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("")

在此处输入图像描述

于 2012-06-13T13:20:38.283 回答