本内容为【科研私家菜】R可视化之美之科研绘图系列课程
快来收藏关注【科研私家菜】
01 方形块状直方图
library(ggplot2)
library(RColorBrewer)
library(scales)
x <- rnorm(250 , mean=10 , sd=1) #(a2) ??????̬?ֲ???ԭʼ????
#x <-sample(1:20, 250, replace = TRUE) #(a1) ???Ӿ??ȷֲ???ԭʼ????
step<-0.2
breaks<- seq(min(x)-step,max(x)+step,step)#"sturges"
hg <- hist(x, breaks = breaks , plot = FALSE) # Make histogram data but do not plot
bins <- length(hg$counts) # How many bin categories are needed?
yvals <- numeric(0) # A blank variable to fill in
xvals <- numeric(0)
for(i in 1:bins) { # Start a loop
yvals <- c(yvals, hg$counts[i]:0) # Work out the y-values
xvals <- c(xvals, rep(hg$mids[i], hg$counts[i]+1)) # Work out x-values
} # End the loop
# End the loop
dat <- data.frame(xvals, yvals) # Make data frame of x, y variables
dat <- dat[yvals > 0, ] # Knock out any zero y-values
colormap <- colorRampPalette(rev(brewer.pal(11,'Spectral')))(32)
ggplot(dat, aes(x=xvals,y=yvals,fill=yvals))+
geom_tile(colour="black")+
scale_fill_gradientn(colours=colormap)+
ylim (0, max(yvals)*1.3)+
theme(
text=element_text(size=15,color="black"),
plot.title=element_text(size=15,family="myfont",face="bold.italic",hjust=.5,color="black"),
legend.background = element_blank(),
legend.position=c(0.9,0.75)
)
效果如下:
02 圆形块状直方图
ggplot(dat, aes(x=xvals,y=yvals,fill=yvals))+
geom_point(colour="black",shape=21,size=4)+
scale_fill_gradientn(colours=colormap)+
ylim (0, max(yvals)*1.3)+
theme(
text=element_text(size=15,color="black"),
plot.title=element_text(size=15,family="myfont",face="bold.italic",hjust=.5,color="black"),
legend.background = element_blank(),
legend.position=c(0.9,0.75)
)
效果如下:
参考资料
《R语言数据可视化之美》
关注R小盐,关注科研私家菜(溦❤工众號: SciPrivate),有问题请联系R小盐。让我们一起来学习 R可视化之美之科研绘图
网友评论