我正在尝试创建一个包含数据框grades_software
,software
作为离散变量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 = seq
和limits
的功能是什么。
答案 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.