2017-01-21 19 views
1

我想創建三個類別之間的比較圖,以及它們隨時間變化的方式。 但是,我意識到我係統地做錯了事,因爲我不生成代表3類的3行,而只生成2行。 我已經嘗試了不同的值,但是,我意識到我需要改變matplot中的某些東西使用matplot type =「b」進行比較

您能否告訴我一些關於如何糾正它的信息?

us1 <- data.frame(category = factor(c("Category1","Category1","Category2","Category2","Category3","Category3")), 
        time = factor(c("1975","2000","1975","2000","1975","2000"), 
            levels=c("1975","2000")), 
        values = c(529, 233, 229, 246, 40, 47)) 

us1mat <- matrix(us1$values, 
        nrow = 3, 
        byrow=TRUE, 
        dimnames = list(c("Category1","Category2", "Category3"), c("1975", "2000")) 
) 



usfm_col <- c("blue", "black", "Red") 

par(cex=1.2, cex.axis=1.1) 
matplot(us1mat, type="b", lty=1, pch=19, col=usfm_col, 
     cex=1.5, lwd=3, las=1, bty="n", xaxt="n", 
     xlim=c(0.7, 2.2), ylim=c(0,1000), ylab="", 
     main="Changes during 1975-2000", yaxt="n") 
axis(2, at=axTicks(2), labels=sprintf("$%s", axTicks(2)), 
    las=1, cex.axis=0.8, col=NA, line = -0.5) 
grid(NA, NULL, lty=3, lwd=1, col="#000000") 
abline(v=c(1,2), lty=3, lwd=1, col="#000000") 
mtext("1975", side=1, at=1) 
mtext("2000", side=1, at=2) 

回答

1

嘗試轉你的數據矩陣:

matplot(t(us1mat), type="b", lty=1, pch=19, col=usfm_col, 
    cex=1.5, lwd=3, las=1, bty="n", xaxt="n", 
    xlim=c(0.7, 2.2), ylim=c(0,1000), ylab="", 
    main="Changes during 1975-2000", yaxt="n") 

希望工程!

+0

它的工作!謝謝! – rmn