为了账号安全,请及时绑定邮箱和手机立即绑定

R语言之可视化②点图

标签:
Java

正文

主要内容:

  • 准备数据

  • 基本点图

  • 在点图上添加摘要统计信息

  • 添加平均值和中位数

  • 带有盒子图和小提琴图的点图

  • 添加平均值和标准差

  • 按组更改点图颜色

  • 更改图例位置

  • 更改图例中项目的顺序

  • 具有多个组的点图

  • 定制的点图

  • 相关信息

第一步:准备数据,使用的数据包括三列,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()

webp


设置仅显示dose为0.5mg和2mg两个分组的点图

p + scale_x_discrete(limits=c("0.5", "2"))

webp


第三步:在点图上添加摘要统计信息,使用函数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")

webp

第四步:添加箱图

# 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')

webp


第六步:添加平均值和标准差,使用函数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")

webp


第七步:按组更改点图颜色,在下面的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

webp


也可以使用以下功能手动更改点图颜色:

  • 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()

webp



作者:夜神moon
链接:https://www.jianshu.com/p/7b548b02c676


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1008

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消