-
Notifications
You must be signed in to change notification settings - Fork 1
/
Vignette.Rmd
84 lines (66 loc) · 2.49 KB
/
Vignette.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
title: "Scatter Plot Combined with Ridgelines in 'ggplot2'"
author: "Matthieu Bourgery"
output:
rmarkdown::html_vignette:
fig_width: 4.5
fig_height: 4
vignette: >
%\VignetteIndexEntry{ggScatRidges}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
```{r setup}
library(ggScatRidges)
```
## Description
The function combines a scatter plot with ridgelines to better visualise the distribution between sample groups. The plot is created with 'ggplot2'.
## Basic usage
``` r
library(ggScatRidges)
ggScatRidges(x = iris$Sepal.Length, y = iris$Sepal.Width, group= iris$Species,
color = "lancet", ridges = TRUE, title = "plot iris", legend.title = "Grouping",
xlab = "Sepal.Length", ylab = "Sepal.Width", base_size = 15, size = 2,
draw = TRUE, density_2d = TRUE, legend = TRUE, label = FALSE, text = NULL)
```
## Change parameters: remove legend, change points shape and size
```r
library(ggScatRidges)
ggScatRidges(x = iris$Sepal.Length, y = iris$Sepal.Width, group= iris$Species,
color = "lancet", ridges = TRUE, title = "plot iris",
xlab = "Sepal.Length", ylab = "Sepal.Width", base_size = 15, size = 3, draw = TRUE,
density_2d = FALSE, legend = FALSE, label = FALSE, text = NULL, pch = c(10,12,14))
```
## PCA usage application
``` r
library(ggScatRidges)
library(factoextra)
pca <- prcomp(iris[,1:4])
PC1=pca$x[,1]
PC2=pca$x[,2]
eig.val <- get_eigenvalue(pca)
xlab <- paste0("PC1: ", round(eig.val[1,3], digits = 1), "% variance")
ylab <- paste0("PC2: ", round(eig.val[2,3] - eig.val[1,3], digits = 1), "% variance")
ggScatRidges(x = PC1, y = PC2, group= iris$Species,
color = "lancet", ridges = TRUE, title = "PCA iris",
xlab = xlab, ylab = ylab, size = 2, draw = TRUE,
density_2d = TRUE, legend = TRUE, label = FALSE, text = NULL)
```
## Plot from dataframe
``` r
library(ggScatRidges)
library(dplyr)
iris2 <- iris[,c(1,2,5)] ## The first column will be used as 'x', the second as 'y' and the third as group for plotting.
iris2 <- iris2 %>% group_by(Species) %>% slice(1:10)
iris2$name <- c(1:30) ## The fourth column is used for naming.
ggScatRidges(x = iris2,
color = "lancet", ridges = TRUE, title = "plot iris",
xlab = "Sepal.Length", ylab = "Sepal.width", size = 2, draw = TRUE,
density_2d = FALSE, legend = TRUE, label = TRUE)
```