R語言:表格的點圖轉化

繼續練習,用dotchart語句繪制點圖。

步驟1.將原圖重新輸入為excel表,原圖是20多個城市2016年12月的供求比(sdratio),庫存(stock)的比較。另外還有同比等一些數據,我先簡化掉了。

install.packages("openxlsx")

library(openxlsx)

readFilePath<-"F:/citystock.xlsx"

mydata<-read.xlsx(readFilePath,"Sheet1")

然后就可以繪圖了,還滿簡單的。

dotchart(mydata$stock,labels=mydata$city,cex=0.7)

仔細看一下原圖表可以發現,雖然城市很多,但供求比都在0.5-1之間,如果我們想要排序繪圖,除了先在excel或者矩陣里排序,也可以直接利用dotchart的分組功能。

dotchart(mydata$stock,labels=mydata$city,groups=mydata$sdratio,col=rainbow(mydata$sdratio*10),pch=19,cex=0.7)

各個城市就自動按照供求比的數值分類了。

但這里遇到了一個坑,按照供求比*10得出整數,賦予彩虹色值,但顏色與供求比的分組并不統一,不知道是怎么回事?

只好比較笨的各個賦值

mydata$color[mydata$sdratio==1]<-"red"

......

mydata$color[mydata$sdratio==0.5]<-"hotpink"

dotchart(mydata$stock,labels=mydata$city,groups=mydata$sdratio,col=mydata$color,pch=19,cex=0.7)

結果就很好了。

在某些案例里,并不是按照數值分類,而是按照產品A,產品B,產品C有不同的列,這樣可以運用melt函數,將列打散變為:

城市1 產品A?

城市1 產品B

城市1 產品C

....

install.packages("reshape");library(reshape) #需要安裝reshape包

data2<-melt(mydata)

基本上dotchart語句還是比較簡單的,它和散點圖(plot)的區別是,散點圖是很明確的(x,y)來定位,進而可做線性回歸等分析。而dotchart可以只有一個維度,而利用另一個維度進行分組。

之前R語言繪圖的相關展現方法

R語言:表格的線圖轉化

R語言:表格的條形圖轉化

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容