par(mfrow=c(2,3)) #把畫布分為兩行三列,mfrow表示以行優先填充
手工決定圖形上點的位置,可用locator()函數
在圖上添加數學符號和公式,可用expression()函數
將bar_netage, bar_age, bar_sex三個圖繪制在三列
library("Rmisc")
multiplot(bar_netage, bar_age, bar_sex, cols = 3)
頻數分布圖與滑珠圖
#畫頻數分布圖
hist(sort(datax, a$freq, xlab="微博數",ylab="頻數",main="微博數分布",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 = "圖片數",y = "頻數") +scale_colour_gradient(name = "頻數")+
scale_x_continuous(limits=c(0,10), s=seq(0,10,1))
#scale_colour_gradient(name = "頻數")修改圖例標簽等同于labs(colour = "Displment")
相關系數矩陣圖與散點圖矩陣
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是數據,按cluster繪制出多個箱線圖,看不同cluster的網齡分布
bar_age <- barplot(pack,col="lightblue")
bar_netage <- ggplot(result, aes(x = cluster, y = 網齡, fill = cluster)) +
geom_boxplot() +
theme_bw() +
labs(x = ' cluster', y = '網齡')
image.png
頻數分布圖,使用ggplot2,美觀倒置效果
其中數據為alldata,繪制其中的“年齡”列的頻數分布圖
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 = "") ## 將標簽設為空