R使用ggplot绘制同一轴上多列的值

Sim*_*ind 1 r ggplot2

我有一个数据框,其中一个人的标记存储在多个列中,基于类如下:

Sno.   Student Name Class1 Class2 Class3 Class4 Class5 Class6 Class7 Class8 
  3    1         XX     75     77     80     77     85     87     89     92    
  4    2         YY     90     90     87     83     80     78     76     75  
Run Code Online (Sandbox Code Playgroud)

我想绘制x轴上的所有标记,y轴必须是1 -100. - 谢谢Sven Hohenstein我能够得到一个解决方案.但是有另一种方法来解决这个问题.你的图表正是我希望输出看起来的样子.但我确实有一个10行16列数据帧,如果我要融化它会产生一个巨大的数据帧.如果有办法在不熔化数据帧的情况下生成相同的绘图,那么它会更好.

谢谢.

Sve*_*ein 8

我不确定你正在寻找什么样的情节.这是一个提案.

阅读数据:

dat <- read.table(text = "Sno.   Student Name Class1 Class2 Class3 Class4 Class5 Class6 Class7 Class8 
3    1         XX     75     77     80     77     85     87     89     92    
4    2         YY     90     90     87     83     80     78     76     75", header = TRUE)
Run Code Online (Sandbox Code Playgroud)

将数据重新整形为长格式:

library(reshape2)
dat_m <- melt(dat, id.vars = "Student", 
              measure.vars = grep("^Class", names(dat), value = TRUE))
Run Code Online (Sandbox Code Playgroud)

创建情节:

library(ggplot2)
ggplot(dat_m, aes(y = value, x = variable, colour = as.factor(Student))) +
      geom_point() +
      geom_line(aes(group = Student)) +
      coord_cartesian(ylim = c(1, 100))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • @SimpleMind简答:没有. (2认同)