R ggplot boxplot错误:美学必须是长度1或与数据(100)相同:x,y

时间:2017-11-05 12:28:37

标签: r ggplot2 error-handling boxplot

我正在尝试创建一个包含数据框grades_softwaresoftware作为离散变量X(R / SPSS)和grades作为连续变量Y的箱线图。

我使用了以下代码:

library(ggplot2)
ggplot(grades_software, aes(software, grades_software$final_score)) + 
geom_boxplot(fill = fill, colour = line) +
  scale_y_continuous(name = "final_score",
                     breaks = seq(0, 175, 25),
                     limits=c(0, 175)) +
  scale_x_discrete(name = "software") +
  ggtitle("Distribution of Final Course Scores by Software Used")

但是,我收到上述错误:

  

美学必须是长度1或与数据(100)相同:x,y

我也不知道在代码中添加breaks = seqlimits的功能是什么。

1 个答案:

答案 0 :(得分:2)

您不需要为ggplot的列指定$

尝试

library(ggplot2)
ggplot(grades_software, aes(software, final_score)) + 
geom_boxplot(fill = fill, colour = line) +
  scale_y_continuous(name = "final_score",
                     breaks = seq(0, 175, 25),
                     limits=c(0, 175)) +
  scale_x_discrete(name = "software") +
  ggtitle("Distribution of Final Course Scores by Software Used")

使用breaks可以控制图表的网格线。 Seq创建一系列网格线seq(from, to, by)。在您的示例中...每隔25将网格线从0设置为175. Limits,另一方面,是一个长度为2的数字向量,提供了比例限制。在你的情况下,从0到175.