正文
主要内容:
准备数据
基本点图
在点图上添加摘要统计信息
添加平均值和中位数
带有盒子图和小提琴图的点图
添加平均值和标准差
按组更改点图颜色
更改图例位置
更改图例中项目的顺序
具有多个组的点图
定制的点图
相关信息
第一步:准备数据,使用的数据包括三列,len长度,supp是分类变量,dose是0.5mg,1mg和2mg三个变量。
> # Convert the variable dose from a numeric to a factor variable> ToothGrowth$dose <- as.factor(ToothGrowth$dose) > head(ToothGrowth) len supp dose1 4.2 VC 0.52 11.5 VC 0.53 7.3 VC 0.54 5.8 VC 0.55 6.4 VC 0.56 10.0 VC 0.5
第二步:绘制最基础的点图,然后修改点的大小,然后翻转X,Y轴
library(ggplot2) # Basic dot plot p<-ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_dotplot(binaxis='y', stackdir='center')p# Change dotsize and stack ratioggplot(ToothGrowth, aes(x=dose, y=len)) + geom_dotplot(binaxis='y', stackdir='center', stackratio=1.5, dotsize=1.2)# Rotate the dot plotp + coord_flip()
设置仅显示dose为0.5mg和2mg两个分组的点图
p + scale_x_discrete(limits=c("0.5", "2"))
第三步:在点图上添加摘要统计信息,使用函数stat_summary()可用于向点图中添加均值/中值点等。
# dot plot with mean pointsp + stat_summary(fun.y=mean, geom="point", shape=18, size=3, color="red")# dot plot with median pointsp + stat_summary(fun.y=median, geom="point", shape=18, size=3, color="red")
第四步:添加箱图
# Add basic box plotggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()+ geom_dotplot(binaxis='y', stackdir='center')# Add notched box plotggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot(notch = TRUE)+ geom_dotplot(binaxis='y', stackdir='center')# Add violin plotggplot(ToothGrowth, aes(x=dose, y=len)) + geom_violin(trim = FALSE)+ geom_dotplot(binaxis='y', stackdir='center')
第六步:添加平均值和标准差,使用函数mean_sdl。 mean_sdl计算平均值加上或减去常数乘以标准差。在下面的R代码中,使用参数mult(mult = 1)指定常量。 默认情况下,mult = 2。平均值+/- SD可以添加为交叉开关或点范围:
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_dotplot(binaxis='y', stackdir='center')p + stat_summary(fun.data="mean_sdl", fun.args = list(mult=1), geom="crossbar", width=0.5)p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), geom="pointrange", color="red")
第七步:按组更改点图颜色,在下面的R代码中,点图的填充颜色由剂量水平自动控制:
# Use single fill colorggplot(ToothGrowth, aes(x=dose, y=len)) + geom_dotplot(binaxis='y', stackdir='center', fill="#FFAAD4")# Change dot plot colors by groupsp<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + geom_dotplot(binaxis='y', stackdir='center') p
也可以使用以下功能手动更改点图颜色:
scale_fill_manual():使用自定义颜色
scale_fill_brewer():使用RColorBrewer包中的调色板
scale_fill_grey():使用灰色调色板
# Use custom color palettesp+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))# Use brewer color palettesp+scale_fill_brewer(palette="Dark2")# Use grey scalep + scale_fill_grey() + theme_classic()
作者:夜神moon
链接:https://www.jianshu.com/p/7b548b02c676
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦