我有最新的密码
ggplot(data = niveles[niveles$departamento=="CUNDINAMARCA" &
niveles$prueba=="MATEMÁTICAS" &
!is.na(niveles$nivel),]) +
geom_bar(stat="identity", position = position_dodge(),
aes(x = año, y = desempeño, fill = nivel)) +
geom_point(data = niveles[niveles$prueba=="MATEMÁTICAS" &
niveles$departamento=="COLOMBIA" &
!is.na(niveles$nivel),], shape = 24,
aes(x = año, y = desempeño, group = nivel, fill = "blue"))
得到了下面的图:
然而,我希望在“niveles”变量的相应类别中得到每一个“点”,有人知道我怎么做吗?
1条答案
按热度按时间gcmastyq1#
你可以像使用
position=position_dodge()
减淡线条一样减淡点。但是,你需要添加一个width
参数来指定“减淡”的程度。值1应该对应于被减淡的线条。图例中还有一个未知的“蓝色”类别。这是因为fill
参数应该出现在美学(aes
)之外。我还认为您应该先将数据分成子集,而不是在ggplot命令中完成所有这些操作。
另一种办法是按部门 * 分方面 *(见下文备选方案2)。
但首先要回避要点。
选项1:子集化
为prueba创建子集,为nivel创建非缺失子集:
为每个部门创建子集:
然后制作图表:
我不能在你的数据上测试它,但我用mtcars数据集作为一个例子。
备选案文2:修整
对于您的数据,以下方法可能有效: