首页 > 解决方案 > 如何使用 3 个不同的参数制作 geom_line

问题描述

所以我有一个数据集,按 Rank 对 DJ 进行排序,他们获得该排名的年份,以及收到前面提到的 Excel 中横向访问信息的 DJ 的姓名。

当我绘制我目前正在使用的数据时,它最终会显示一个折线图,其中每年的垂直线从 1 到 5,我不知道从这里做什么。

library(ggplot2)
library(plyr)

DJMAG <- DJMAG_MOdified

Top <-data.frame(DJMAG$Year, DJMAG$Rank , DJMAG$DJ)

names(Top) <- c("Year","Rank","DJ")

ggplot(Top, aes(Top$Year)) + 
  geom_line(aes(y = as.numeric(Top$Rank), color = "Hardwell")) + xlab("2004 to 2018") + ylab("Rank")

没有错误消息,但我试图用这些数据显示的是(X = 年)具有自己线图的 DJ 在 2004 年至 2017 年的排名中如何增加或减少,以及前 5 名、1-5 名的排名带有倒置 y 轴的 Y 轴。

标签: rggplot2plyr

解决方案


所以我冒昧地提出了一些示例数据。

DJMAG_MOdified <- data.frame(Year=rep(2004:2018,3),
                    Rank=runif(45,0,1),
                    DJ=rep(c("A","B","C"),each=15),
                    Other=runif(45,0,1))

我故意添加了该Other列,因此我们仍然像您所做的那样对其进行子集化。而不是你的方法是:

Top <-data.frame(DJMAG$Year, DJMAG$Rank , DJMAG$DJ)
names(Top) <- c("Year","Rank","DJ")

最好将它放在不需要更改列名的一行中,如下所示:

Top <- DJMAG_MOdified[,c("Year","Rank","DJ")]

至于情节,我想也许这就是你要找的,每个 DJ 都用不同的颜色线表示?

ggplot(Top, aes(x=Year,y=as.numeric(Rank))) + 
    geom_line(aes(col = DJ)) + 
    xlab("2004 to 2018") + 
    ylab("Rank")

我不明白color = "Hardwell"你的代码部分来自哪里......


推荐阅读