# Chart options

## Title, subtitle and axis titles

Packages and data used below:

    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()`:

    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

    apex(data = n_cut, type = "column", mapping = aes(x = cut, y = n)) %>%
      ax_title(text = "Cut distribution")

You can set some options, for example:

    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

    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:

    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

    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:

    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

    library(apexcharter)
    library(dplyr)

    ## economics dataset from ggplot2
    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))

### Type of line

Classic line:

    apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed))

Spline curve:

    apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
      ax_stroke(curve = "smooth")

Steps chart:

    apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
      ax_stroke(curve = "stepline")

### Line appearance

Color line with gradient:

    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:

    apex(data = economics, type = "area", mapping = aes(x = date, y = uempmed)) %>%
      ax_fill(type = "solid", opacity = 1)

Line width:

    apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
      ax_stroke(width = 1)

Dotted line

    apex(data = economics, type = "line", mapping = aes(x = date, y = uempmed)) %>%
      ax_stroke(dashArray = 6)

### Markers

Add points to line :

    apex(data = tail(economics, 20), type = "line", mapping = aes(x = date, y = uempmed)) %>%
      ax_markers(size = 6)

Add labels over points

    apex(data = tail(economics, 20), type = "line", mapping = aes(x = date, y = uempmed)) %>%
      ax_markers(size = 6) %>%
      ax_dataLabels(enabled = TRUE)

### Multiple lines

You can use vectors of parameters to custom series separately:

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

    apex(data = economics_long, type = "line", mapping = aes(x = date, y = value01, group = variable)) %>%
      ax_yaxis(decimalsInFloat = 2) %>%
      ax_stroke(dashArray = c(8, 5))