R語言數(shù)據(jù)可視化繪圖Lollipop?chart棒棒糖圖
今天給大家分享的是Lollipop chart(棒棒糖圖)的畫法。棒棒糖圖的用途跟條形圖的用法類似,只是看起來更加美觀一些,圖表形式更加豐富(數(shù)據(jù)不夠、拿圖來湊,啥也不能阻止我優(yōu)秀 )。
為了跟之前畫的柱狀圖更好的比較,今天畫圖使用了相同的數(shù)據(jù)。
作圖思路:棒棒糖圖實際上是在散點圖的基礎上增加了輔助線。
不過在作圖過程中還是遇到了和之前一樣的問題,數(shù)據(jù)是按照銷量從高到低排列,但是畫出的圖卻是按照字母順序排列,需要用reorder()函數(shù)對因子進行排序。
具體的作圖過程如下
Step1. 繪圖數(shù)據(jù)的準備
首先還是要把你想要繪圖的數(shù)據(jù)調(diào)整成R語言可以識別的格式excel中保存成csv格式。
數(shù)據(jù)的格式如下圖:一列表示一種變量,第一行是列名
Step2. 繪圖數(shù)據(jù)的讀取
data<-read.csv(“your file path”, header = T)
Step3.繪圖所需package的調(diào)用
library(ggplot2)
Step4.因子水平排序
data$書名<-factor(data$書名) data$書名<-reorder(data$書名,-data$銷量)
Step5.繪圖
p<-ggplot(data,aes(x=書名,y=銷量))+geom_point(size=3,color="#FF4500")+ geom_line()+geom_segment(aes(x=書名,xend=書名,y=0,yend=銷量))+ theme(axis.text.x = element_text(angle = 45, hjust = 0.8, vjust = 0.9))+ xlab("銷量排行前十")+theme(legend.position="none")+ scale_y_continuous("銷量",breaks = c(0,200000,400000,600000),labels = c("0","200000","400000","600000")) p
有強迫癥的同學看這個圖可能有一些不爽,首先就是圖片不高清,其次就是輔助線和數(shù)據(jù)點的相對位置略微奇怪。
不要慌,不要慌,導出高清圖的方法在這里 R語言繪圖技巧導出高清圖方法
更改圖層相對位置只要把代碼中geom_piont()和geom_line()+geom_segment()語句的順序調(diào)換一下就好啦。
好啦,今天的分享就到這里了,希望可以幫助到大家。
更多關于R語言繪圖棒棒糖圖的資料請關注腳本之家其它相關文章!