接著上一篇文章R語言:表格的線圖轉(zhuǎn)化繼續(xù)練習,這次是直方圖。
前段時間在視頻課程學習過直方圖案例,有一個citysales表格,表示3種產(chǎn)品,在5個城市的銷量。

運用的是“barplot”命令,程序如下:
citysales<-read.csv("citysales.csv")
x<-barplot(as.matrix(citysales[,2:4]),beside=TRUE,
legend.text=citysales$City,args.legend=list(bty="n",horiz=TRUE),
col=brewer.pal(5,"Set1"),border="black",ylim=c(0,100))

自己用來練習的表格,還是上次那個。

因為這次想用案例中的色庫,所以安裝了“RColorBrewer”包。
install.packages("RColorBrewer")
library(RColorBrewer)
然后按照案例中語句,寫了一下。顏色參數(shù)有一點改動。
barplot(as.matrix(mydata[,2:3]),las=2,beside=TRUE,col=brewer.pal(2,"Set2"))

噫,為什么2006一列,2016一列?看回案例,barplot命令是根據(jù)列分組的,所以這里也根據(jù)了兩個年份分組。
這樣的圖形不是我想要的,所以用 t命令 把mydata的行列互相置換了一下。
b<-as.matrix(mydata[,2:3]);?c<-t(b)

barplot(c,las=2,beside=TRUE,col=brewer.pal(2,"Set2"))
這次出現(xiàn)的圖形就對了,但是x軸的圖標不對。區(qū)域名消失了。

很奇怪的是,如果整個mydata置換,就會把整個matrix都變成字符,barplot就不能只打印其中的兩列,必須置換成數(shù)值
d<-as.matrix(mydata);e<-t(d)
barplot(as.numeric(e[2:3,]),las=2,col=brewer.pal(3,"Set2"),beside=TRUE,ylim=c(0,95000))
圖形跟上圖一樣,就是沒有x軸的數(shù)字了。
如果索性在excel表里手動置換行和列,也是可以的。
barplot(as.matrix(mydata2[,2:16]),las=2,beside=TRUE,col=brewer.pal(2,"Set2"),ylim=c(0,95000))

如果去掉“beside=TRUE”語句,則形成層疊圖。再加上增長幅度曲線rate。但是因為增長幅度數(shù)值相對于幾萬的房價比較小,所以乘以5000倍才能看得見。
lines(mydata$rate*5000,col="gold")

這里又出現(xiàn)了一個缺點,漲幅曲線和柱狀圖差了一個,當然在excel表是完全對應(yīng)的。還沒有找出原因。望各位大神指教。
這次的練習:
1.條形圖的轉(zhuǎn)化
2.兩種圖形的疊加
3.RColorBrew包及相關(guān)命令
不明白/沒做出來的地方
1.用barplot打印matrix的格式
2.matrix怎么加表頭
3.Line和條形圖的對應(yīng)