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 lengthdose
: 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
Recommended for you
This section contains best data science and self-development resources to help you on your path.
Coursera - Online Courses and Specialization
Data science
- Course: Machine Learning: Master the Fundamentals by Stanford
- Specialization: Data Science by Johns Hopkins University
- Specialization: Python for Everybody by University of Michigan
- Courses: Build Skills for a Top Job in any Industry by Coursera
- Specialization: Master Machine Learning Fundamentals by University of Washington
- Specialization: Statistics with R by Duke University
- Specialization: Software Development in R by Johns Hopkins University
- Specialization: Genomic Data Science by Johns Hopkins University
Popular Courses Launched in 2020
- Google IT Automation with Python by Google
- AI for Medicine by deeplearning.ai
- Epidemiology in Public Health Practice by Johns Hopkins University
- AWS Fundamentals by Amazon Web Services
Trending Courses
- The Science of Well-Being by Yale University
- Google IT Support Professional by Google
- Python for Everybody by University of Michigan
- IBM Data Science Professional Certificate by IBM
- Business Foundations by University of Pennsylvania
- Introduction to Psychology by Yale University
- Excel Skills for Business by Macquarie University
- Psychological First Aid by Johns Hopkins University
- Graphic Design by Cal Arts
Amazon FBA
Amazing Selling Machine
Books - Data Science
Our Books
- Practical Guide to Cluster Analysis in R by A. Kassambara (Datanovia)
- Practical Guide To Principal Component Methods in R by A. Kassambara (Datanovia)
- Machine Learning Essentials: Practical Guide in R by A. Kassambara (Datanovia)
- R Graphics Essentials for Great Data Visualization by A. Kassambara (Datanovia)
- GGPlot2 Essentials for Great Data Visualization in R by A. Kassambara (Datanovia)
- Network Analysis and Visualization in R by A. Kassambara (Datanovia)
- Practical Statistics in R for Comparing Groups: Numerical Variables by A. Kassambara (Datanovia)
- Inter-Rater Reliability Essentials: Practical Guide in R by A. Kassambara (Datanovia)
Others
- R for Data Science: Import, Tidy, Transform, Visualize, and Model Data by Hadley Wickham & Garrett Grolemund
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurelien Géron
- Practical Statistics for Data Scientists: 50 Essential Concepts by Peter Bruce & Andrew Bruce
- Hands-On Programming with R: Write Your Own Functions And Simulations by Garrett Grolemund & Hadley Wickham
- An Introduction to Statistical Learning: with Applications in R by Gareth James et al.
- Deep Learning with R by François Chollet & J.J. Allaire
- Deep Learning with Python by François Chollet
Version: Français
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?