R語言-15統(tǒng)計圖繪制

par(mfrow=c(2,3)) #把畫布分為兩行三列,mfrow表示以行優(yōu)先填充

手工決定圖形上點的位置,可用locator()函數(shù)
在圖上添加數(shù)學符號和公式,可用expression()函數(shù)

將bar_netage, bar_age, bar_sex三個圖繪制在三列

library("Rmisc")
multiplot(bar_netage, bar_age, bar_sex, cols = 3)

頻數(shù)分布圖與滑珠圖
#畫頻數(shù)分布圖
hist(sort(datareposts_count), col='lightblue',main='微博轉(zhuǎn)發(fā)量分布',ylab="頻數(shù)",xlab="轉(zhuǎn)發(fā)量",labels=TRUE,xlim=c(0,200),ylim=c(0,3000)) #labels設為true表示顯示每一個柱的數(shù)值,xlim、ylim設定x、y軸顯示范圍 plot(ax, a$freq, xlab="微博數(shù)",ylab="頻數(shù)",main="微博數(shù)分布",col="red") #xlab,ylab為坐標軸標題,main表示圖形主標題

#畫滑珠圖
library(ggplot2)
a <- count(data$pic_num)
dd <- ddply(a,.(x,freq))
p <- ggplot(dd,aes(x=x,y=freq))
p + geom_linerange(aes(ymax=freq),color='gray',ymin=0,size=1)+geom_point(aes(color=freq),size=5)+theme_bw()+
labs(title = "微博圖片分布",x = "圖片數(shù)",y = "頻數(shù)") +scale_colour_gradient(name = "頻數(shù)")+
scale_x_continuous(limits=c(0,10), s=seq(0,10,1))
#scale_colour_gradient(name = "頻數(shù)")修改圖例標簽等同于labs(colour = "Displment")

相關系數(shù)矩陣圖與散點圖矩陣

library(corrplot)
M <- cor(data1)
corrplot(M,order = 'hclust')
#散點圖矩陣
    scatterplotMatrix(data1[,c("user_statuses_count","user_follow_count","user_urank")],diagonal = 'histogram',ellipse=TRUE,cex.main="0.5")#cex.main="0.5"表示把標題字體大小縮小為原來的50%

箱線圖

result是數(shù)據(jù),按cluster繪制出多個箱線圖,看不同cluster的網(wǎng)齡分布

bar_age <- barplot(pack,col="lightblue")
bar_netage <- ggplot(result, aes(x = cluster, y = 網(wǎng)齡, fill =  cluster)) + 
  geom_boxplot() + 
  theme_bw() + 
  labs(x = ' cluster', y = '網(wǎng)齡')
image.png

頻數(shù)分布圖,使用ggplot2,美觀倒置效果

其中數(shù)據(jù)為alldata,繪制其中的“年齡”列的頻數(shù)分布圖

library(ggplot2)
library(stringr)
library(plyr)
library(dplyr)        # group_by()
library(Rmisc)        # multiplot()
fun_bar1 <- function(data, xlab, ylab, xname, yname) {
  ggplot(data, aes(xlab, ylab)) +
    geom_bar(stat = 'identity', fill = "#63B8FF") + 
    labs(x = xname, y = yname) +
    coord_flip() +  # 使圖形倒置
    theme_minimal()      # ggplot圖形的一種背景主題
}
user <- alldata %>% group_by(年齡) %>% dplyr::summarise(Freq = n())
p1 <- fun_bar1(data = user, 
               xlab = reorder(user$年齡, user$Freq),
               ylab = user$Freq,
               xname = '年齡', yname = 'Frequency')

餅圖

#二分類變量餅圖
user5 <- alldata %>% group_by(性別) %>% dplyr::summarise(Freq = n())
p <- ggplot(user5, aes(x = "", y = user5$Freq, fill = user5$性別)) + 
  geom_bar(stat = "identity", width = 1) +    
  coord_polar(theta = "y") + 
  labs(x = "", y = "", title = "")   ## 將標簽設為空
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容