# Install packages
if (!requireNamespace("data.table", quietly = TRUE)) {
install.packages("data.table")
}
if (!requireNamespace("jsonlite", quietly = TRUE)) {
install.packages("jsonlite")
}
if (!requireNamespace("ggpubr", quietly = TRUE)) {
install.packages("ggpubr")
}
# Load packages
library(data.table)
library(jsonlite)
library(ggpubr)Dotchart
Note
Hiplot website
This page is the tutorial for source code version of the Hiplot Dotchart plugin. You can also use the Hiplot website to achieve no code ploting. For more information please see the following link:
Sliding bead chart is a graph of beads sliding on a column. It is the superposition of bar chart and scatter chart.
Setup
System Requirements: Cross-platform (Linux/MacOS/Windows)
Programming language: R
Dependent packages:
data.table;jsonlite;ggpubr
sessioninfo::session_info("attached")β Session info βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
setting value
version R version 4.5.2 (2025-10-31)
os Ubuntu 24.04.3 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate C.UTF-8
ctype C.UTF-8
tz UTC
date 2026-01-17
pandoc 3.1.3 @ /usr/bin/ (via rmarkdown)
quarto 1.8.27 @ /usr/local/bin/quarto
β Packages βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
package * version date (UTC) lib source
data.table * 1.18.0 2025-12-24 [1] RSPM
ggplot2 * 4.0.1 2025-11-14 [1] RSPM
ggpubr * 0.6.2 2025-10-17 [1] RSPM
jsonlite * 2.0.0 2025-03-27 [1] RSPM
[1] /home/runner/work/_temp/Library
[2] /opt/R/4.5.2/lib/R/site-library
[3] /opt/R/4.5.2/lib/R/library
* ββ Packages attached to the search path.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Data Preparation
The loaded data are gene names and their corresponding gene expression values and groups.
# Load data
data <- data.table::fread(jsonlite::read_json("https://hiplot.cn/ui/basic/dotchart/data.json")$exampleData$textarea[[1]])
data <- as.data.frame(data)
# View data
head(data) Name Value Group
1 BMP2 18.7 Group1
2 XIST 14.3 Group1
3 C19orf38 16.4 Group1
4 PDZD3 17.3 Group1
5 MAPRE2 15.2 Group1
6 IRF4 10.4 Group1
Visualization
# Dotchart
p <- ggdotchart(data, x = "Name", y = "Value", group = "Group", color = "Group",
rotate = T, sorting = "descending",
y.text.col = F, add = "segments", dot.size = 2) +
xlab("Name") +
ylab("Value") +
ggtitle("DotChart Plot") +
scale_color_manual(values = c("#e04d39","#5bbad6","#1e9f86")) +
theme_classic() +
theme(text = element_text(family = "Arial"),
plot.title = element_text(size = 12,hjust = 0.5),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
axis.text.x = element_text(angle = 0, hjust = 0.5,vjust = 1),
legend.position = "right",
legend.direction = "vertical",
legend.title = element_text(size = 10),
legend.text = element_text(size = 10))
p
Each color represents a different grouping, so that the differences in gene expression values can be intuitively understood.
