--- title: "Bar charts" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Bar charts} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` Let's start by importing some data and running some data wrangling: ```{r data-import} library(rio) library(data.table) dat <- import("https://raw.githubusercontent.com/holtzy/data_to_viz/master/Example_dataset/11_SevCatOneNumNestedOneObsPerGroup.csv", data.table = TRUE) setDT(dat) # in all character columns, tranform empty string to NA vars_chr <- colnames(dat)[sapply(dat, is.character)] dat[, (vars_chr) := lapply(.SD, function(x) fifelse(x == "", NA_character_, x)), .SDcols = vars_chr] # in value, if -1 replace with NA dat[, value := fifelse(value == -1, NA_real_, value)] # remove lines where value is NA (in place) dat <- dat[!is.na(value), ] # kepp only top 20 values and divide data to get million units df <- dat[ !is.na(value), ][ order(value, decreasing = TRUE), ][ 1:20, ][ , value := value/1000000, ][ , key := ifelse(key == "Democratic Republic of the Congo", "DRC", key)] ``` Now, let's see the defaults for a horizontal bar diagram without any grouping and ordering values from highest to smallest: ```{r hbar} library(visualizeR) hbar( df, x = "key", y = "value", facet = "region", order = "y", title = "Top 20 countries by population (in Million)" ) ``` Moving on to a vertical bar chart, with country facets and groups