From cd51e663367aa524556893436814af6d4a2e5c7f Mon Sep 17 00:00:00 2001 From: pvictor Date: Tue, 31 Jul 2018 23:24:35 +0200 Subject: [PATCH] more docs & readme --- R/apex-utils.R | 66 ++++++++++++++++++++++++--------------------- README.md | 42 ++++++++++++++++++++++++++++- img/api-bars.png | Bin 0 -> 20494 bytes man/ax_labels.Rd | 3 ++- man/ax_legend.Rd | 47 +++++++++++++++++--------------- man/ax_series.Rd | 2 +- man/ax_states.Rd | 6 ++--- man/ax_subtitle.Rd | 2 +- man/ax_title.Rd | 14 +++++----- 9 files changed, 117 insertions(+), 65 deletions(-) create mode 100644 img/api-bars.png diff --git a/R/apex-utils.R b/R/apex-utils.R index 8aaba8c..f78e7cd 100644 --- a/R/apex-utils.R +++ b/R/apex-utils.R @@ -212,7 +212,8 @@ ax_grid <- function(ax, #' Alternative axis labels #' #' @param ax A \code{apexcharts} \code{htmlwidget} object. -#' @param ... +#' @param ... Vector. In Axis Charts (line / column), labels can be set instead of setting xaxis categories +#' option. While, in pie/donut charts, each label corresponds to value in series array. #' #' @return A \code{apexcharts} \code{htmlwidget} object. #' @export @@ -226,22 +227,27 @@ ax_labels <- function(ax, ...) { #' Legend properties #' #' @param ax A \code{apexcharts} \code{htmlwidget} object. -#' @param show -#' @param floating -#' @param position -#' @param horizontalAlign -#' @param verticalAlign -#' @param fontSize -#' @param textAnchor -#' @param offsetY -#' @param offsetX -#' @param formatter -#' @param labels -#' @param markers -#' @param itemMargin -#' @param containerMargin -#' @param onItemClick -#' @param onItemHover +#' @param show Logical. Whether to show or hide the legend container. +#' @param position Available position options for legend: \code{"top"}, \code{"right"}, \code{"bottom"}, \code{"left"}. +#' @param horizontalAlign Available options for horizontal alignment: \code{"right"}, \code{"center"}, \code{"left"}. +#' @param verticalAlign Available options for vertical alignment: \code{"top"}, \code{"middle"}, \code{"bottom"} +#' @param fontSize Sets the fontSize of legend text elements +#' @param textAnchor The alignment of text relative to legend’s drawing position +#' @param offsetY Sets the top offset for legend container. +#' @param offsetX Sets the left offset for legend container. +#' @param formatter JS function. A custom formatter function to append additional text to the legend series names. +#' @param labels List with two items \code{"foreColor"} (Custom text color for legend labels) +#' and \code{"useSeriesColors"} (Logical, whether to use primary colors or not) +#' @param markers List. +#' @param itemMargin List with two items \code{"horizontal"} (Horizontal margin for individual legend item) +#' and \code{"vertical"} (Vertical margin for individual legend item). +#' @param containerMargin List with two items \code{"top"} (Top margin for the whole legend container) +#' and \code{"left"} (Left margin for the whole legend container). +#' @param onItemClick List with item \code{"toggleDataSeries"}, logical, +#' when clicked on legend item, it will toggle the visibility of the series in chart. +#' @param onItemHover List with item \code{"highlightDataSeries"}, logical, +#' when hovered on legend item, it will highlight the paths of the hovered series in chart. +#' @param floating Logical. The floating option will take out the legend from the chart area and make it float above the chart. #' @param ... Additional parameters. #' #' @return A \code{apexcharts} \code{htmlwidget} object. @@ -250,7 +256,6 @@ ax_labels <- function(ax, ...) { #' @examples ax_legend <- function(ax, show = NULL, - floating = NULL, position = NULL, horizontFalAlign = NULL, verticalAlign = NULL, @@ -265,6 +270,7 @@ ax_legend <- function(ax, containerMargin = NULL, onItemClick = NULL, onItemHover = NULL, + floating = NULL, ...) { params <- c(as.list(environment()), list(...))[-1] .ax_opt2(ax, "legend", l = dropNulls(params)) @@ -356,7 +362,7 @@ ax_responsive <- function(ax, ...) { #' Add data to a chart #' #' @param ax A \code{apexcharts} \code{htmlwidget} object. -#' @param ... Additional parameters. +#' @param ... Lists containing data to plot, typically list with two items: \code{name} and \code{data}. #' #' @return A \code{apexcharts} \code{htmlwidget} object. #' @export @@ -370,9 +376,9 @@ ax_series <- function(ax, ...) { #' Charts' states #' #' @param ax A \code{apexcharts} \code{htmlwidget} object. -#' @param normal -#' @param hover -#' @param active +#' @param normal List. +#' @param hover List. +#' @param active List. #' @param ... Additional parameters. #' #' @return A \code{apexcharts} \code{htmlwidget} object. @@ -392,13 +398,13 @@ ax_states <- function(ax, #' Chart's title #' #' @param ax A \code{apexcharts} \code{htmlwidget} object. -#' @param text -#' @param align -#' @param margin -#' @param offsetX -#' @param offsetY -#' @param floating -#' @param style +#' @param text Text to display as a title of chart. +#' @param align Alignment of subtitle relative to chart area. Possible Options: \code{"left"}, \code{"center"} and \code{"right"}. +#' @param margin Numeric. Vertical spacing around the title text. +#' @param offsetX Numeric. Sets the left offset for subtitle text. +#' @param offsetY Numeric. Sets the top offset for subtitle text +#' @param floating Logical. The floating option will take out the subtitle text from the chart area and make it float on top of the chart. +#' @param style List with two items: \code{fontSize} (Font Size of the title text) and \code{color} (Fore color of the title text). #' @param ... Additional parameters. #' #' @return A \code{apexcharts} \code{htmlwidget} object. @@ -428,7 +434,7 @@ ax_title <- function(ax, #' @param offsetX Numeric. Sets the left offset for subtitle text. #' @param offsetY Numeric. Sets the top offset for subtitle text #' @param floating Logical. The floating option will take out the subtitle text from the chart area and make it float on top of the chart. -#' @param style List. +#' @param style List with two items: \code{fontSize} (Font Size of the subtitle text) and \code{color} (Fore color of the subtitle text). #' @param ... Additional parameters. #' #' @return A \code{apexcharts} \code{htmlwidget} object. diff --git a/README.md b/README.md index 6740db9..9d8671e 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,49 @@ You can install the development version from [GitHub](https://github.com/) with: devtools::install_github("dreamRs/apexcharter") ``` +## Basic example + +Simple bar chart : + +```r +library(apexcharter) +library(ggplot2) # for data +library(dplyr) +library(magrittr) + +data(mpg) +dat <- count(mpg, manufacturer) + +apexcharter() %>% + ax_chart(type = "bar") %>% + ax_plotOptions(bar = list( + 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) + + ## Raw API -Only raw API available for now : +Pass a list of parameters to the function: ``` r apexcharter(ax_opts = list( diff --git a/img/api-bars.png b/img/api-bars.png new file mode 100644 index 0000000000000000000000000000000000000000..32334ba1a68a02524c0071655dd0c8ce78f0e89a GIT binary patch literal 20494 zcmdVC2UJsA7cPn-0)k)z1f?hff}sckN);6;q1VufH0en1y&Nf`lu!i}g3?2m-b6Y` zD4~ZchTcmkxjW#g|M~BGcf3399d8WA2s?YNHP@PJ&ToEmuD$bGNkQu31-c6a1Oyjl zq@Sq}5D@gKtqbAGcC5CjR^=8(`BAXsJZGdkK=6BG*fWO8_?(6GQRSd>7l|*ykSd2Ve}6j zg!v<9HtUY9eh|{5=h5y&whpSrS$!Y2`Y3*i2d;o-t+A4lg7BPM!(jTe~WWN~<7 z6vwE96LSa)s_Zp>alYr{^dKs+iv}bG7caw3R^!8ffZsjxeDt)<5WN@ z??y{mAQa1&ABmHLywOJp#JQ>Zo4#qyr;Z;=e?;(L6Rk({5uHjRg_rIi=#>8j;X zU2DV@??KiN66Y)0t?!%aY+QY9eL+99XtCd`U0&L3{kZZ zsi0Yn^MIB3=1r}4GS1@md^R@P*9F^U4R*IE(Sf@gQl?OIF(KbbMmrQ8tet_4nmh_6 z85c%;RLFCQVW@>r_0r=PIG+tM!6RVRAXM>X}b28nx)(?OYB zhsjE?xxLkAc+Nozp5tV?*XVl%=cCE6M{Kn#6C77`kV|q-ASWIe4)YHGs$YS{E0~XSC%KTaA@03b-Ta9;j3i{ z>3gCY2(Np`=pv>sI}X3)b9;<8&8t!e115`rA1-`rx%cF|LF(SS>dguH3K!hHii7=< z{R0Es(JY|E`!j_%2nGq2M`u@GK`wlzA}GoHKZ#3TxP zXosFfT=M~q&g3geLbMCiGgF{hhdYlk=)5aGIvws&g3G>BnR$$ZKTeiREaG9p;7${A zw9XT)i&MmHgiSkPS4T!yYYm(Y8l!@ied}D6Y$-CMq3o9}I-Se|;jw2vEQyujbl5$X zLK~4Bek>Iiok+nsH52P=M(El}r-&4s#fKb`mwEKC81*L{!1#wTmBY%P*mvvP z?fJ|gts%;ZSRPPJ5PYptCG2^>(7T6^3+{trgFZYX>Fca}E$+@|PNnL(w?AfGpy;Ys?ZjRox{ey(sU0d~1cV*S2E%(_4>YN4 zxHm>MYZG@iNO<1n2_)W-zy!E}EuYInWkfZGmJ7Cqe&m~cv<|hHD^tG&D|tacdT&_v z>O_h=gje=fU(E8hVr_S9ZgGrj^6Vl*wP4|aCRQ8R;CeF0CPF|AL6|I?tLxr2-#)k8 z8vZ&>`A$<*{>ueBQR^@HK1K_6_%9=ZCC%|bRzE!|&e?`@TVNaHDbc9GMvC*}2A%#t zU|rHpSV~)7*gOkvCU!uWb^?C8VMcA&c6xerJ!OotVEoDtv6xicUg%gN8FzunhG?6? zp;9d=w*{J9?{y6~l^6vuDFl(p6_`fgO$T2C`MqI72rmvzO(yg1Vj!I9ZnHj(*MWxD zd!U)G)0fMzl372u>uDNg_Fr{^x;uJ8QWC0&abn&$b&8FvyM4H0@4Au94?l6mIPv}C zSDQT%cdeQk!D#)mF3X_sjTVaIRo8m0#hq7}0iV?HBZKw94^&VYblnzY2L-mZT=Su} z74%=Uux-F=_Ha%C68gkftd;Vq6vi9sdN
r6bM5BTwK#K~XoE(Ov!K{zM{r*N8w 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 DMlf{a literal 0 HcmV?d00001 diff --git a/man/ax_labels.Rd b/man/ax_labels.Rd index 0513fff..786ca75 100644 --- a/man/ax_labels.Rd +++ b/man/ax_labels.Rd @@ -9,7 +9,8 @@ ax_labels(ax, ...) \arguments{ \item{ax}{A \code{apexcharts} \code{htmlwidget} object.} -\item{...}{} +\item{...}{Vector. In Axis Charts (line / column), labels can be set instead of setting xaxis categories +option. While, in pie/donut charts, each label corresponds to value in series array.} } \value{ A \code{apexcharts} \code{htmlwidget} object. diff --git a/man/ax_legend.Rd b/man/ax_legend.Rd index 65ceefe..ed57d21 100644 --- a/man/ax_legend.Rd +++ b/man/ax_legend.Rd @@ -4,48 +4,53 @@ \alias{ax_legend} \title{Legend properties} \usage{ -ax_legend(ax, show = NULL, floating = NULL, position = NULL, - horizontFalAlign = NULL, verticalAlign = NULL, fontSize = NULL, - textAnchor = NULL, offsetY = NULL, offsetX = NULL, formatter = NULL, - labels = NULL, markers = NULL, itemMargin = NULL, - containerMargin = NULL, onItemClick = NULL, onItemHover = NULL, ...) +ax_legend(ax, show = NULL, position = NULL, horizontFalAlign = NULL, + verticalAlign = NULL, fontSize = NULL, textAnchor = NULL, + offsetY = NULL, offsetX = NULL, formatter = NULL, labels = NULL, + markers = NULL, itemMargin = NULL, containerMargin = NULL, + onItemClick = NULL, onItemHover = NULL, floating = NULL, ...) } \arguments{ \item{ax}{A \code{apexcharts} \code{htmlwidget} object.} -\item{show}{} +\item{show}{Logical. Whether to show or hide the legend container.} -\item{floating}{} +\item{position}{Available position options for legend: \code{"top"}, \code{"right"}, \code{"bottom"}, \code{"left"}.} -\item{position}{} +\item{verticalAlign}{Available options for vertical alignment: \code{"top"}, \code{"middle"}, \code{"bottom"}} -\item{verticalAlign}{} +\item{fontSize}{Sets the fontSize of legend text elements} -\item{fontSize}{} +\item{textAnchor}{The alignment of text relative to legend’s drawing position} -\item{textAnchor}{} +\item{offsetY}{Sets the top offset for legend container.} -\item{offsetY}{} +\item{offsetX}{Sets the left offset for legend container.} -\item{offsetX}{} +\item{formatter}{JS function. A custom formatter function to append additional text to the legend series names.} -\item{formatter}{} +\item{labels}{List with two items \code{"foreColor"} (Custom text color for legend labels) +and \code{"useSeriesColors"} (Logical, whether to use primary colors or not)} -\item{labels}{} +\item{markers}{List.} -\item{markers}{} +\item{itemMargin}{List with two items \code{"horizontal"} (Horizontal margin for individual legend item) +and \code{"vertical"} (Vertical margin for individual legend item).} -\item{itemMargin}{} +\item{containerMargin}{List with two items \code{"top"} (Top margin for the whole legend container) +and \code{"left"} (Left margin for the whole legend container).} -\item{containerMargin}{} +\item{onItemClick}{List with item \code{"toggleDataSeries"}, logical, +when clicked on legend item, it will toggle the visibility of the series in chart.} -\item{onItemClick}{} +\item{onItemHover}{List with item \code{"highlightDataSeries"}, logical, +when hovered on legend item, it will highlight the paths of the hovered series in chart.} -\item{onItemHover}{} +\item{floating}{Logical. The floating option will take out the legend from the chart area and make it float above the chart.} \item{...}{Additional parameters.} -\item{horizontalAlign}{} +\item{horizontalAlign}{Available options for horizontal alignment: \code{"right"}, \code{"center"}, \code{"left"}.} } \value{ A \code{apexcharts} \code{htmlwidget} object. diff --git a/man/ax_series.Rd b/man/ax_series.Rd index 2c509f2..d941db8 100644 --- a/man/ax_series.Rd +++ b/man/ax_series.Rd @@ -9,7 +9,7 @@ ax_series(ax, ...) \arguments{ \item{ax}{A \code{apexcharts} \code{htmlwidget} object.} -\item{...}{Additional parameters.} +\item{...}{Lists containing data to plot, typically list with two items: \code{name} and \code{data}.} } \value{ A \code{apexcharts} \code{htmlwidget} object. diff --git a/man/ax_states.Rd b/man/ax_states.Rd index 96e0e81..89e7193 100644 --- a/man/ax_states.Rd +++ b/man/ax_states.Rd @@ -9,11 +9,11 @@ ax_states(ax, normal = NULL, hover = NULL, active = NULL, ...) \arguments{ \item{ax}{A \code{apexcharts} \code{htmlwidget} object.} -\item{normal}{} +\item{normal}{List.} -\item{hover}{} +\item{hover}{List.} -\item{active}{} +\item{active}{List.} \item{...}{Additional parameters.} } diff --git a/man/ax_subtitle.Rd b/man/ax_subtitle.Rd index 17ffaaa..443bb45 100644 --- a/man/ax_subtitle.Rd +++ b/man/ax_subtitle.Rd @@ -22,7 +22,7 @@ ax_subtitle(ax, text = NULL, align = NULL, margin = NULL, \item{floating}{Logical. The floating option will take out the subtitle text from the chart area and make it float on top of the chart.} -\item{style}{List.} +\item{style}{List with two items: \code{fontSize} (Font Size of the subtitle text) and \code{color} (Fore color of the subtitle text).} \item{...}{Additional parameters.} } diff --git a/man/ax_title.Rd b/man/ax_title.Rd index 0b57686..f819b88 100644 --- a/man/ax_title.Rd +++ b/man/ax_title.Rd @@ -10,19 +10,19 @@ ax_title(ax, text = NULL, align = NULL, margin = NULL, offsetX = NULL, \arguments{ \item{ax}{A \code{apexcharts} \code{htmlwidget} object.} -\item{text}{} +\item{text}{Text to display as a title of chart.} -\item{align}{} +\item{align}{Alignment of subtitle relative to chart area. Possible Options: \code{"left"}, \code{"center"} and \code{"right"}.} -\item{margin}{} +\item{margin}{Numeric. Vertical spacing around the title text.} -\item{offsetX}{} +\item{offsetX}{Numeric. Sets the left offset for subtitle text.} -\item{offsetY}{} +\item{offsetY}{Numeric. Sets the top offset for subtitle text} -\item{floating}{} +\item{floating}{Logical. The floating option will take out the subtitle text from the chart area and make it float on top of the chart.} -\item{style}{} +\item{style}{List with two items: \code{fontSize} (Font Size of the title text) and \code{color} (Fore color of the title text).} \item{...}{Additional parameters.} }