R 生成具有多条直线的直线图:X轴无序,y轴比例不是均匀间隔

R 生成具有多条直线的直线图:X轴无序,y轴比例不是均匀间隔,r,ggplot2,graph,R,Ggplot2,Graph,我正在绘制涉及不同施肥率的实验数据(ggplot2)。我希望注意一系列观察日期(治疗后天数,或DAT)的植物反应(植物指数,或数据中的VI_值):9、15、21、27和35 DAT。当我绘制这些点时,我的DAT(x轴)不是我想要的顺序,我的y轴值是无序的。如何修复这两个问题,以及如何重新构造y轴以增加偶数间隔?最好只显示y轴上的整数(或至少只显示整数的小数点) 正在运行此代码 ggplot(data=dataset, aes(x=DAT, y=SR, group = Rate, colour =

我正在绘制涉及不同施肥率的实验数据(ggplot2)。我希望注意一系列观察日期(治疗后天数,或DAT)的植物反应(植物指数,或数据中的VI_值):9、15、21、27和35 DAT。当我绘制这些点时,我的DAT(x轴)不是我想要的顺序,我的y轴值是无序的。如何修复这两个问题,以及如何重新构造y轴以增加偶数间隔?最好只显示y轴上的整数(或至少只显示整数的小数点)

正在运行此代码

ggplot(data=dataset, aes(x=DAT, y=SR, group = Rate, colour = as.factor(Rate)))+
  geom_line()+
  geom_point()
…生成以下图形:

我需要按如下顺序排列x轴:9,15,21,27,35DAT,我一定要清理y轴

以下是数据集:

dataset <- data.frame(Cultivar = c("pio", "pio", "pio", "pio", "pio", "pio", 
"pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio", "pio"),
                      Rate = c(0,
                               1,
                               4,
                               8,
                               0,
                               1,
                               4,
                               8,
                               0,
                               1,
                               4,
                               8,
                               0,
                               1,
                               4,
                               8,
                               0,
                               1,
                               4,
                               8),
                      DAT = c(9,
                              9,
                              9,
                              9,
                              15,
                              15,
                              15,
                              15,
                              21,
                              21,
                              21,
                              21,
                              27,
                              27,
                              27,
                              27,
                              35,
                              35,
                              35,
                              35),
                      SR = c(5.443664,
                                   4.91077766666667,
                                   3.615712,
                                   2.81359,
                                   10.4675316666667,
                                   9.65146,
                                   7.646191,
                                   7.138025,
                                   8.24739066666667,
                                   7.85872166666667,
                                   6.14369533333333,
                                   5.83806466666667,
                                   13.3828463333333,
                                   12.3525363333333,
                                   11.0249503333333,
                                   10.5858046666667,
                                   13.8856,
                                   12.7933703333333,
                                   10.966898,
                                   11.194905),
                      Error = c(0.138439743861123,
                                0.445183750289448,
                                0.716154295933728,
                                0.209298947911833,
                                0.485569061785356,
                                0.870274032427143,
                                0.92619068130992,
                                0.896274542793855,
                                0.225475438285661,
                                0.863429277269874,
                                0.522656438625583,
                                0.827932691360905,
                                0.741721042845025,
                                1.2532188075592,
                                1.01358403281381,
                                1.16022067736693,
                                0.262671210179824,
                                1.02721331514967,
                                0.626616072499209,
                                0.669908769))

要在x轴上设置您自己的值,请使用
scale\u x\u discrete
功能:

scale_x_离散(极限=c(9,15,21,27,35))

检查
是否为.character(pio_final$DAT)
返回
TRUE
在您的数据示例中,没有名为
SR
@markus的列,我刚刚检查过,它确实返回为
TRUE
@ihb,因此转换为数字,然后打印。请使用
dput(pio_final)
共享您的数据;我假设
是.character(pio_final$SR)
也是
TRUE
structure(list(Cultivar = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "pio", class = "factor"), 
    Rate = c(0, 1, 4, 8, 0, 1, 4, 8, 0, 1, 4, 8, 0, 1, 4, 8, 
    0, 1, 4, 8), DAT = c(9, 9, 9, 9, 15, 15, 15, 15, 21, 21, 
    21, 21, 27, 27, 27, 27, 35, 35, 35, 35), SR = c(5.443664, 
    4.91077766666667, 3.615712, 2.81359, 10.4675316666667, 9.65146, 
    7.646191, 7.138025, 8.24739066666667, 7.85872166666667, 6.14369533333333, 
    5.83806466666667, 13.3828463333333, 12.3525363333333, 11.0249503333333, 
    10.5858046666667, 13.8856, 12.7933703333333, 10.966898, 11.194905
    ), Error = c(0.138439743861123, 0.445183750289448, 0.716154295933728, 
    0.209298947911833, 0.485569061785356, 0.870274032427143, 
    0.92619068130992, 0.896274542793855, 0.225475438285661, 0.863429277269874, 
    0.522656438625583, 0.827932691360905, 0.741721042845025, 
    1.2532188075592, 1.01358403281381, 1.16022067736693, 0.262671210179824, 
    1.02721331514967, 0.626616072499209, 0.669908769)), class = "data.frame", row.names = c(NA, 
-20L))