2019-05-21 10:27:53 +02:00
|
|
|
---
|
2020-05-27 14:28:13 +02:00
|
|
|
title: "Chart options"
|
2019-05-21 10:27:53 +02:00
|
|
|
output: rmarkdown::html_vignette
|
|
|
|
vignette: >
|
2020-05-27 14:28:13 +02:00
|
|
|
%\VignetteIndexEntry{chart-options}
|
2019-05-21 10:27:53 +02:00
|
|
|
%\VignetteEngine{knitr::rmarkdown}
|
|
|
|
%\VignetteEncoding{UTF-8}
|
|
|
|
---
|
|
|
|
|
|
|
|
```{r, include = FALSE}
|
|
|
|
knitr::opts_chunk$set(
|
|
|
|
collapse = TRUE,
|
|
|
|
comment = "#>"
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
2020-05-27 14:28:13 +02:00
|
|
|
|
|
|
|
## Title, subtitle and axis titles
|
|
|
|
|
|
|
|
Packages and data used below:
|
|
|
|
|
|
|
|
```{r message=FALSE, warning=FALSE}
|
|
|
|
library(apexcharter)
|
|
|
|
library(dplyr)
|
|
|
|
|
|
|
|
data("diamonds", package = "ggplot2")
|
|
|
|
n_cut <- count(diamonds, cut)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Labs
|
|
|
|
|
|
|
|
You can set title, subtitle and axis' titles at once with `ax_labs()`:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_labs(
|
|
|
|
title = "Cut distribution",
|
|
|
|
subtitle = "Data from ggplot2",
|
|
|
|
x = "Cut",
|
|
|
|
y = "Count"
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
|
|
|
If you more control (font size, alignment, ...), you can use `ax_title()`, `ax_subtitle()`, `ax_xaxis()` and `ax_yaxis()`, as described below.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Title
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_title(text = "Cut distribution")
|
|
|
|
```
|
|
|
|
|
|
|
|
You can set some options, for example:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_title(
|
|
|
|
text = "Cut distribution",
|
|
|
|
align = "center",
|
|
|
|
style = list(fontSize = "22px", fontWeight = 700)
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Full list of parameters is available here : https://apexcharts.com/docs/options/title/
|
|
|
|
|
|
|
|
|
|
|
|
### Subtitle
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_title(text = "Cut distribution") %>%
|
|
|
|
ax_subtitle(text = "Data from ggplot2")
|
|
|
|
```
|
|
|
|
|
|
|
|
With same options than for title:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_title(
|
|
|
|
text = "Cut distribution",
|
|
|
|
align = "center",
|
|
|
|
style = list(fontSize = "22px", fontWeight = 700)
|
|
|
|
) %>%
|
|
|
|
ax_subtitle(
|
|
|
|
text = "Data from ggplot2",
|
|
|
|
align = "center",
|
|
|
|
style = list(fontSize = "16px", fontWeight = 400, color = "#BDBDBD")
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
|
|
|
Full list of parameters is available here : https://apexcharts.com/docs/options/subtitle/
|
|
|
|
|
|
|
|
|
|
|
|
### Axis title
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_yaxis(title = list(text = "Count")) %>%
|
|
|
|
ax_xaxis(title = list(text = "Cut"))
|
|
|
|
```
|
|
|
|
|
|
|
|
With some options:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
|
|
|
|
ax_yaxis(title = list(
|
|
|
|
text = "Count",
|
|
|
|
style = list(fontSize = "14px", color = "#BDBDBD")
|
|
|
|
)) %>%
|
|
|
|
ax_xaxis(title = list(
|
|
|
|
text = "Cut",
|
|
|
|
style = list(fontSize = "14px", color = "#BDBDBD")
|
|
|
|
))
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Lines
|
|
|
|
|
2019-05-21 10:27:53 +02:00
|
|
|
```{r message=FALSE, warning=FALSE}
|
|
|
|
library(apexcharter)
|
|
|
|
library(dplyr)
|
|
|
|
|
2020-05-27 14:28:13 +02:00
|
|
|
## economics dataset from ggplot2
|
2019-05-21 10:27:53 +02:00
|
|
|
data("economics", package = "ggplot2")
|
|
|
|
economics <- tail(economics, 50)
|
|
|
|
|
|
|
|
data("economics_long", package = "ggplot2")
|
|
|
|
economics_long <- economics_long %>%
|
|
|
|
filter(variable %in% c("pce", "pop")) %>%
|
|
|
|
group_by(variable) %>%
|
|
|
|
slice(tail(row_number(), 20))
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2020-05-27 14:28:13 +02:00
|
|
|
### Type of line
|
2019-05-21 10:27:53 +02:00
|
|
|
|
|
|
|
Classic line:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed))
|
|
|
|
```
|
|
|
|
|
|
|
|
Spline curve:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_stroke(curve = "smooth")
|
|
|
|
```
|
|
|
|
|
|
|
|
Steps chart:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_stroke(curve = "stepline")
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-27 14:28:13 +02:00
|
|
|
### Line appearance
|
2019-05-21 10:27:53 +02:00
|
|
|
|
|
|
|
Color line with gradient:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_fill(
|
|
|
|
type = "gradient",
|
|
|
|
gradient = list(
|
|
|
|
shade = "dark",
|
|
|
|
gradientToColors = list("#FDD835"),
|
|
|
|
shadeIntensity = 1,
|
|
|
|
type = "horizontal",
|
|
|
|
opacityFrom = 1,
|
|
|
|
opacityTo = 1,
|
|
|
|
stops = c(0, 100, 100, 100)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
|
|
|
Solid area color:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "area", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_fill(type = "solid", opacity = 1)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Line width:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_stroke(width = 1)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Dotted line
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_stroke(dashArray = 6)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-27 14:28:13 +02:00
|
|
|
### Markers
|
2019-05-21 10:27:53 +02:00
|
|
|
|
|
|
|
Add points to line :
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = tail(economics, 20), type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_markers(size = 6)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Add labels over points
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = tail(economics, 20), type = "line", mapping = aes(x = date, y = uempmed)) %>%
|
|
|
|
ax_markers(size = 6) %>%
|
|
|
|
ax_dataLabels(enabled = TRUE)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-27 14:28:13 +02:00
|
|
|
### Multiple lines
|
2019-05-21 10:27:53 +02:00
|
|
|
|
|
|
|
You can use vectors of parameters to custom series separately:
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics_long, type = "line", mapping = aes(x = date, y = value01, group = variable)) %>%
|
|
|
|
ax_yaxis(decimalsInFloat = 2) %>%
|
|
|
|
ax_markers(size = c(3, 6)) %>%
|
|
|
|
ax_stroke(width = c(1, 3))
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
apex(data = economics_long, type = "line", mapping = aes(x = date, y = value01, group = variable)) %>%
|
|
|
|
ax_yaxis(decimalsInFloat = 2) %>%
|
|
|
|
ax_stroke(dashArray = c(8, 5))
|
|
|
|
```
|
|
|
|
|