22

ggplot を使用して複数の線を 1 つのグラフにプロットしようとしていますが、データセットでその方法がわかりません。データ構造を変更する必要があるかどうかわからない(転置?)

データは次のようになります。

Company   2011   2013
Company1  300    350
Company2  320    430
Company3  310    420

私も転置してみました:

Year   Company1  Company2  Company3
2011   300       320       310 
2013   350       430       420

このために、次を使用して値の 1 つをプロットできます。

ggplot(data=df, aes(x=Year, y=Company1)) + geom_line(colour="red") + geom_point(colour="red", size=4, shape=21, fill="white")

しかし、グループ化するオブジェクト「会社」がもうないため、すべての会社を結合する方法がわかりません。助言がありますか?

4

3 に答える 3

17

ggplot2 に必要な非常に複雑なデータ構造を使用する代わりに、ネイティブの R 関数を使用できます。

tab<-read.delim(text="
Company 2011 2013
Company1 300 350
Company2 320 430
Company3 310 420
",as.is=TRUE,sep=" ",row.names=1)

tab<-t(tab)

plot(tab[,1],type="b",ylim=c(min(tab),max(tab)),col="red",lty=1,ylab="Value",lwd=2,xlab="Year",xaxt="n")
lines(tab[,2],type="b",col="black",lty=2,lwd=2)
lines(tab[,3],type="b",col="blue",lty=3,lwd=2)
grid()
legend("topleft",legend=colnames(tab),lty=c(1,2,3),col=c("red","black","blue"),bg="white",lwd=2)
axis(1,at=c(1:nrow(tab)),labels=rownames(tab))

R 複数行プロット

于 2014-03-25T19:06:59.603 に答える