R语言之可视化②点图

主要内容:

  • 准备数据
  • 基本点图
  • 在点图上添加摘要统计信息
  • 添加平均值和中位数
  • 带有盒子图和小提琴图的点图
  • 添加平均值和标准差
  • 按组更改点图颜色
  • 更改图例位置
  • 更改图例中项目的顺序
  • 具有多个组的点图
  • 定制的点图
  • 相关信息

第一步:准备数据,使用的数据包括三列,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 dose
1  4.2   VC  0.5
2 11.5   VC  0.5
3  7.3   VC  0.5
4  5.8   VC  0.5
5  6.4   VC  0.5
6 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 ratio
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_dotplot(binaxis='y', stackdir='center',
               stackratio=1.5, dotsize=1.2)
# Rotate the dot plot
p + coord_flip()

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

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

第三步:在点图上添加摘要统计信息,使用函数stat_summary()可用于向点图中添加均值/中值点等。

# dot plot with mean points
p + stat_summary(fun.y=mean, geom="point", shape=18,
                 size=3, color="red")
# dot plot with median points
p + stat_summary(fun.y=median, geom="point", shape=18,
                 size=3, color="red")

第四步:添加箱图

# Add basic box plot
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot()+
  geom_dotplot(binaxis='y', stackdir='center')
# Add notched box plot
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot(notch = TRUE)+
  geom_dotplot(binaxis='y', stackdir='center')
# Add violin plot
ggplot(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 color
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_dotplot(binaxis='y', stackdir='center', fill="#FFAAD4")
# Change dot plot colors by groups
p<-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 palettes
p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# Use brewer color palettes
p+scale_fill_brewer(palette="Dark2")
# Use grey scale
p + scale_fill_grey() + theme_classic()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏marsggbo

TensorFlow走过的坑之---数据读取和tf中batch的使用方法

首先介绍数据读取问题,现在TensorFlow官方推荐的数据读取方法是使用tf.data.Dataset,具体的细节不在这里赘述,看官方文档更清楚,这里主要记录...

1502
来自专栏点滴积累

geotrellis使用(四)geotrellis数据处理部分细节

       前面写了几篇博客介绍了Geotrellis的简单使用,具体链接在文后,今天我主要介绍一下Geotrellis在数据处理的过程中需要注意的细节,或者...

3495
来自专栏祝威廉

如何基于SDL+TensorFlow/SK-Learn开发NLP程序

确保安装了python 2.7 ,强烈建议你使用Virtualenv方便python环境的管理。之后通过pip 安装pyspark

913
来自专栏逍遥剑客的游戏开发

Nebula3绘制基本图元

1396
来自专栏计算机视觉及音视频工程

YVU格式Y分量存储为灰度

 Image为Android 5.0以上提供的类,用于保存YUV420格式的集合。

2546
来自专栏Google Dart

Flutter 构建完整应用手册-图片 顶

显示图像是大多数移动应用程序的基础。 Flutter提供Image小部件以显示不同类型的图像。

2022
来自专栏python爬虫日记

python下调用pytesseract识别某网站验证码

pytesseract最新版本0.1.6,网址:https://pypi.python.org/pypi/pytesseract

2673
来自专栏wym

opencv下imread函数返回值

openCV的imread()函数和imwrite()函数能支持各种静态图像文件格式。

3852
来自专栏咸鱼不闲

Python Tesseract 图片识别-小操练

but,Tesseract是老外开发的,默认不支持中文,需要我们加个中文语言包 将文件chi_sim.traineddata (密码:nd6p) 放到安装目录...

1933
来自专栏数据派THU

独家 | 手把手教数据可视化工具Tableau

前言 数据的世界正在发生急剧变化,任何人都应该访问自己需要的数据,并具备获取任何数据的洞察力,而tableau正是帮我们洞察数据的好帮手。 Tableau作为B...

6247

扫码关注云+社区

领取腾讯云代金券