使用 geom_point 时出错 "geom_point requires the following missing aesthetics: y"
Error "geom_point requires the following missing aesthetics: y" when using geom_point
我需要从我的数据框中绘制几列。一般来说,在此图表中,我需要将三个选定列的值绘制为一行,其中 X
将代表 Release 列,如下面的数据框:
Release,AddedClasses,ModifiedClasses,RemovedClasses,AddedMethods,ModifiedMethods,RemovedMethods,AddedImports,RemovedImports,AddedFields,ModifiedFields,RemovedFields
v1,39,33,0,43,25,0,3,0,21,0,0
v2,48,62,0,88,56,1,35,0,42,0,2
v3,54,93,0,117,95,1,67,0,67,0,2
v4,55,116,29,124,134,5,69,2,121,0,5
对于行,我需要绘制以下列的值:AddedClasses
、ModifiedClasses
、RemovedClasses
。
我尝试使用以下代码绘制图表:
ggplot(data=ReminderDOPTransformationsResume, aes(x=Release, group = 1)) +
geom_line(aes(y=AddedClasses,color=AddedClasses), size=2) +
geom_point(aes(color = AddedClasses), size=5, stroke = 0, shape = 16) +
geom_line(aes(y=ModifiedClasses,color=ModifiedClasses), size=2) +
geom_point(aes(color = ModifiedClasses), size=5, stroke = 0, shape = 16) +
geom_line(aes(y=RemovedClasses,color=RemovedClasses), size=2) +
geom_point(aes(color = RemovedClasses), size=5, stroke = 0, shape = 16) +
scale_linetype_manual(values=c("solid", "solid")) +
theme_bw(base_size = 24) + theme(plot.title = element_text(hjust = 0.5), legend.title=element_blank())
但是执行的时候出现如下错误:
Error: geom_point requires the following missing aesthetics: y
如果我删除 geom_point
部分,图表会绘制出来,但线条颜色和标题有错误:
将您的数据从 "wide" 格式转换为 "long" 格式 - 一列用于变量名称,另一列用于它们的值 - aes()
将为您完成所有工作。
library(dplyr)
library(tidyr)
library(ggplot2)
ReminderDOPTransformationsResume <- tibble(Release = paste0("v", 1:4),
AddedClasses = c(39, 48, 54, 55),
ModifiedClasses = c(33, 62, 93, 116),
RemovedClasses = c(0, 0, 0, 29),
AddedMethods = c(43, 88, 117, 124))
ReminderDOPTransformationsResume %>%
select(Release, AddedClasses, ModifiedClasses, RemovedClasses) %>%
gather(Var, Val, -Release) %>%
ggplot(aes(Release, Val, group = Var)) +
geom_line(aes(color = Var)) +
geom_point(aes(color = Var))
结果:
我需要从我的数据框中绘制几列。一般来说,在此图表中,我需要将三个选定列的值绘制为一行,其中 X
将代表 Release 列,如下面的数据框:
Release,AddedClasses,ModifiedClasses,RemovedClasses,AddedMethods,ModifiedMethods,RemovedMethods,AddedImports,RemovedImports,AddedFields,ModifiedFields,RemovedFields
v1,39,33,0,43,25,0,3,0,21,0,0
v2,48,62,0,88,56,1,35,0,42,0,2
v3,54,93,0,117,95,1,67,0,67,0,2
v4,55,116,29,124,134,5,69,2,121,0,5
对于行,我需要绘制以下列的值:AddedClasses
、ModifiedClasses
、RemovedClasses
。
我尝试使用以下代码绘制图表:
ggplot(data=ReminderDOPTransformationsResume, aes(x=Release, group = 1)) +
geom_line(aes(y=AddedClasses,color=AddedClasses), size=2) +
geom_point(aes(color = AddedClasses), size=5, stroke = 0, shape = 16) +
geom_line(aes(y=ModifiedClasses,color=ModifiedClasses), size=2) +
geom_point(aes(color = ModifiedClasses), size=5, stroke = 0, shape = 16) +
geom_line(aes(y=RemovedClasses,color=RemovedClasses), size=2) +
geom_point(aes(color = RemovedClasses), size=5, stroke = 0, shape = 16) +
scale_linetype_manual(values=c("solid", "solid")) +
theme_bw(base_size = 24) + theme(plot.title = element_text(hjust = 0.5), legend.title=element_blank())
但是执行的时候出现如下错误:
Error: geom_point requires the following missing aesthetics: y
如果我删除 geom_point
部分,图表会绘制出来,但线条颜色和标题有错误:
将您的数据从 "wide" 格式转换为 "long" 格式 - 一列用于变量名称,另一列用于它们的值 - aes()
将为您完成所有工作。
library(dplyr)
library(tidyr)
library(ggplot2)
ReminderDOPTransformationsResume <- tibble(Release = paste0("v", 1:4),
AddedClasses = c(39, 48, 54, 55),
ModifiedClasses = c(33, 62, 93, 116),
RemovedClasses = c(0, 0, 0, 29),
AddedMethods = c(43, 88, 117, 124))
ReminderDOPTransformationsResume %>%
select(Release, AddedClasses, ModifiedClasses, RemovedClasses) %>%
gather(Var, Val, -Release) %>%
ggplot(aes(Release, Val, group = Var)) +
geom_line(aes(color = Var)) +
geom_point(aes(color = Var))
结果: