# Add a line to a chart — add-line • apexcharter

Add a line to an existing chart (bar, scatter and line types supported). On scatter charts you can also add a smooth line.

    add_line(
      ax,
      mapping,
      data = NULL,
      type = c("line", "spline"),
      serie_name = NULL
    )

    add_smooth_line(
      ax,
      formula = y ~ x,
      model = c("lm", "loess"),
      n = 100,
      ...,
      type = c("line", "spline"),
      serie_name = NULL
    )

## Arguments

ax

  An `apex` `htmlwidget` object.

mapping

  Default list of aesthetic mappings to use for chart.

data

  A `data.frame` to use to add a line, if `NULL` (default), the `data.frame` provided in `apex()` will be used.

type

  Type of line.

serie_name

  Name for the serie displayed in tooltip and legend.

formula

  Formula passed to the `method`, default to `y ~ x` from main aesthetics.

model

  Model to use between `lm` or `loess`.

n

  Number of points used for predictions.

...

  Arguments passed to `model`.

## Value

A `apexcharts` `htmlwidget` object.

## Examples

    library(apexcharter)

    # Bar ----

    data("climate_paris")

    # Add a line on a column's chart
    apex(climate_paris, aes(month, precipitation), type = "column") %>%
      add_line(aes(month, temperature))

    # Add secondary axis
    apex(climate_paris, aes(month, precipitation), type = "column") %>%
      add_line(aes(month, temperature)) %>%
      ax_yaxis(
        title = list(text = "Precipitation (in mm)")
      ) %>%
      ax_yaxis2(
        opposite = TRUE,
        decimalsInFloat = 0,
        title = list(text = "Temperature (in degree celsius)")
      ) %>%
      ax_dataLabels(
        enabled = TRUE, enabledOnSeries = list(1)
      )

    # Scatter ----

    # add smooth line on scatter plot
    apex(cars, aes(speed, dist), type = "scatter") %>%
      add_line(aes(x, y), data = lowess(cars), serie_name = "lowess")

    # or directly
    apex(cars, aes(speed, dist), type = "scatter") %>%
      add_smooth_line()

    apex(cars, aes(speed, dist), type = "scatter") %>%
      add_smooth_line(model = "loess", span = 1)

    apex(cars, aes(speed, dist), type = "scatter") %>%
      add_smooth_line(model = "loess", degree = 1)

    apex(cars, aes(speed, dist), type = "scatter") %>%
      add_smooth_line(formula = y ~ poly(x, 2))

    apex(cars, aes(speed, dist), type = "scatter") %>%
      add_smooth_line(model = "lm", serie_name = "lm") %>%
      add_smooth_line(model = "loess", serie_name = "loess")