Highcharter R Package Essentials for Easy Interactive Graphs

Highchart Interactive Bar Plot in R

You will learn how to create an interactive Bar Plot in R using the highchart R package.



Contents:

Loading required R packages

# Load required R packages
library(highcharter) 
# Set highcharter options
options(highcharter.theme = hc_theme_smpl(tooltip = list(valueDecimals = 2)))

Data preparation

We’ll create two data frames derived from the ToothGrowth datasets.

df <- data.frame(dose=c("D0.5", "D1", "D2"),
                len=c(4.2, 10, 29.5))

head(df)
##   dose  len
## 1 D0.5  4.2
## 2   D1 10.0
## 3   D2 29.5
df2 <- data.frame(supp=rep(c("VC", "OJ"), each=3),
                dose=rep(c("D0.5", "D1", "D2"),2),
                len=c(6.8, 15, 33, 4.2, 10, 29.5))

head(df2)
##   supp dose  len
## 1   VC D0.5  6.8
## 2   VC   D1 15.0
## 3   VC   D2 33.0
## 4   OJ D0.5  4.2
## 5   OJ   D1 10.0
## 6   OJ   D2 29.5
  • len: Tooth length
  • dose: Dose in milligrams (0.5, 1, 2)
  • supp: Supplement type (VC or OJ)

Basic barplots

Basic vertical barplots:

hc <- df %>%
  hchart('column', hcaes(x = dose, y = len))
hc

Make horizontal bar plot:

hc <- df %>%
  hchart(
  'bar', hcaes(x = dose, y = len),
  color = "lightgray", borderColor = "black"
  )
hc

Change the width of bars using the argument pointWidth (e.g.: width = 15).

# Change bar widths
df %>% hchart(
  'column', hcaes(x = dose, y = len), 
  pointWidth = 15
  )

Change barplot colors by groups

We’ll change the barplot line and fill color by the variable dose group levels.

# Change barplot fill colors by groups
hc <- df %>% 
  hchart(
  'column', hcaes(x = dose, y = len, color = dose)
  )
hc

Barplot with multiple groups

Create stacked and dodged bar plots. Use the functions hc_colors() to set manually the bars colors.

Dodged bars:

hc <- df2 %>% 
  hchart('column', hcaes(x = 'dose', y = 'len', group = 'supp')) %>%
  hc_colors(c("#0073C2FF", "#EFC000FF"))
hc

Stacked bar plots:

hc <- df2 %>% 
  hchart(
    'column', hcaes(x = 'dose', y = 'len', group = 'supp'),
    stacking = "normal"
    ) %>%
  hc_colors(c("#0073C2FF", "#EFC000FF"))
hc



Version: Français

Highchart Interactive Line Plot in R (Prev Lesson)
(Next Lesson) Highchart Interactive Density and Histogram Plots in R
Back to Highcharter R Package Essentials for Easy Interactive Graphs

Comment ( 1 )

  • Anon

    Thanks for the examples. If i have multiple lens, lens1, lens2, lens3, how do we plot all of them together? such that lens1, lens2 and lens 3 are shown side by side, grouped in their respective dose?

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments