apexcharter/README.md

109 lines
2.1 KiB
Markdown
Raw Normal View History

2018-07-30 23:04:08 +02:00
# apexcharter
> Htmlwidget for [apexcharts.js](https://github.com/apexcharts/apexcharts.js)
2018-09-09 21:21:42 +02:00
[![Travis build status](https://travis-ci.org/dreamRs/apexcharter.svg?branch=master)](https://travis-ci.org/dreamRs/apexcharter)
2018-07-30 23:04:08 +02:00
:construction: :warning: Under development !! API will change (and this doesn't work properly in RStudio viewer for now) :warning: :construction:
## Installation
You can install the development version from [GitHub](https://github.com/) with:
``` r
# install.packages("devtools")
devtools::install_github("dreamRs/apexcharter")
```
2018-07-31 23:24:35 +02:00
## Basic example
Simple bar chart :
```r
library(apexcharter)
library(ggplot2) # for data
library(dplyr)
library(magrittr)
data(mpg)
dat <- count(mpg, manufacturer)
2019-02-14 09:22:57 +01:00
apexcharter() %>%
2018-07-31 23:24:35 +02:00
ax_chart(type = "bar") %>%
2018-08-03 11:10:36 +02:00
ax_plotOptions(bar = barOpts(
2018-07-31 23:24:35 +02:00
horizontal = FALSE,
endingShape = "flat",
columnWidth = "70%",
dataLabels = list(
position = "top"
))
) %>%
ax_grid(
show = TRUE,
position = "front"
) %>%
ax_series(list(
name = "Count",
data = dat$n
)) %>%
ax_colors("#112446") %>%
ax_xaxis(categories = dat$manufacturer) %>%
ax_title(text = "Number of models") %>%
ax_subtitle(text = "Data from ggplot2")
```
![alt text](img/api-bars.png)
2018-07-30 23:04:08 +02:00
## Raw API
2018-07-31 23:24:35 +02:00
Pass a list of parameters to the function:
2018-07-30 23:04:08 +02:00
``` r
2019-02-14 09:22:57 +01:00
apexcharter(ax_opts = list(
2018-07-30 23:04:08 +02:00
chart = list(
type = "line"
),
stroke = list(
curve = "smooth"
),
grid = list(
borderColor = "#e7e7e7",
row = list(
colors = c("#f3f3f3", "transparent"),
opacity = 0.5
)
),
dataLabels = list(
enabled = TRUE
),
markers = list(style = "inverted", size = 6),
series = list(
list(
name = "High",
data = c(28, 29, 33, 36, 32, 32, 33)
),
list(
name = "Low",
data = c(12, 11, 14, 18, 17, 13, 13)
)
),
title = list(
text = "Average High & Low Temperature",
align = "left"
),
xaxis = list(
categories = month.abb[1:7]
),
yaxis = list(
title = list(text = "Temperature"),
labels = list(
formatter = htmlwidgets::JS("function(value) {return value + '°C';}")
)
)
))
```
![alt text](img/raw-lines.png)