ใช้ข้อมูลของคุณ:
test_data <- data.frame(
var0 = 100 + c(0, cumsum(runif(49, -20, 20))),
var1 = 150 + c(0, cumsum(runif(49, -10, 10))),
Dates = seq.Date(as.Date("2002-01-01"), by="1 month", length.out=100))
ฉันสร้างเวอร์ชันที่ซ้อนกันซึ่งเป็นสิ่งที่ggplot()
ต้องการทำงานกับ:
stacked <- with(test_data,
data.frame(value = c(var0, var1),
variable = factor(rep(c("Var0","Var1"),
each = NROW(test_data))),
Dates = rep(Dates, 2)))
ในกรณีนี้การผลิตstacked
ค่อนข้างง่ายเนื่องจากเราต้องทำการจัดการสองสามอย่าง แต่reshape()
และreshape
และและreshape2
อาจมีประโยชน์หากคุณมีชุดข้อมูลจริงที่ซับซ้อนกว่าเพื่อจัดการ
เมื่อข้อมูลอยู่ในรูปแบบสแต็กนี้จะต้องมีการggplot()
เรียกง่ายๆเพื่อสร้างพล็อตที่คุณต้องการด้วยความพิเศษทั้งหมด (หนึ่งเหตุผลว่าทำไมแพคเกจการพล็อตระดับสูงเช่นlattice
และggplot2
มีประโยชน์มาก):
require(ggplot2)
p <- ggplot(stacked, aes(Dates, value, colour = variable))
p + geom_line()
ฉันจะปล่อยให้คุณจัดระเบียบป้ายกำกับแกนชื่อตำนาน ฯลฯ
HTH
colour=
เป็นชื่อตัวแปร