在一个图形R中绘制不同的列

在一个图形R中绘制不同的列,r,ggplot2,plot,ggplotly,R,Ggplot2,Plot,Ggplotly,我的样本数据: structure(list(year = c(2018, 2018, 2018, 2018, 2019, 2019), month = c(9, 10, 11, 12, 1, 2), pred1 = c(-6.63356483810535, -6.50968293287978, -1.54767782423655, -1.47812226859267, -1.36788275407234, -1.28168637109063), pred2 = c

我的样本数据:

structure(list(year = c(2018, 2018, 2018, 2018, 2019, 2019), 
    month = c(9, 10, 11, 12, 1, 2), pred1 = c(-6.63356483810535, 
    -6.50968293287978, -1.54767782423655, -1.47812226859267, 
    -1.36788275407234, -1.28168637109063), pred2 = c(-1.42361872090391, 
    -1.3982815502715, -1.1409241475472, -1.1331066959139, -1.12562914109629, 
    -1.11814749991547)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))
我想有x轴上的月份和y轴上的年份,并绘制pred1和pred2的折线图,以图形方式进行比较。
我很感谢你帮我做R

这就是我如何理解你关于想要y轴上的年份的问题——我把它放在垂直面上,每个面上都有一个线条图,x轴上有月,y轴上有值。如果这不是你想要做的,请澄清你最初的问题

ggplot(df1, aes(month)) +
  geom_line(aes(y = pred1), color = "blue") +
  geom_line(aes(y = pred2), color = "red") +
  facet_grid(year~.)

如果希望图例区分这两个系列,最简单的方法是将数据重塑为长格式,以便系列名称是一个可以映射到美观(如颜色)的变量

library(dplyr)
df1 %>%
  tidyr::gather(series, value, pred1:pred2) %>%
  ggplot(aes(month, value, color = series)) +
  geom_line() +
  facet_grid(year~.)

你好,Lalitha,您需要使用
ggplot2
并使用长格式数据框。请参阅感谢回复,但您发送的帖子正在重塑数据。是否有其他选项可以这样做。@Lalitha好奇,您为什么不想重塑数据?重塑其长格式或整齐格式是最佳做法。我的情况不同,我有相同的x轴和y轴,并且我在绘图前对数据进行了标准化超基本方法
绘图(a$pred1,type=“l”,col=“red”);行(a$pred2,type=“l”,col=“blue”)