3D-Dimensional reduction plot for cell classification visualization.
Source:R/CellDimPlot.R
CellDimPlot3D.RdPlotting cell points on a reduced 3D space and coloring according to the groups of the cells.
Usage
CellDimPlot3D(
srt,
group.by,
reduction = NULL,
dims = c(1, 2, 3),
axis_labs = NULL,
palette = "Paired",
palcolor = NULL,
bg_color = "grey80",
pt.size = 1.5,
cells.highlight = NULL,
cols.highlight = "black",
shape.highlight = "circle-open",
sizes.highlight = 2,
lineages = NULL,
lineages_palette = "Dark2",
span = 0.75,
width = NULL,
height = NULL,
save = NULL,
force = FALSE
)Arguments
- srt
A Seurat object.
- group.by
Name of one or more meta.data columns to group (color) cells by.
- reduction
Which dimensionality reduction to use. If not specified, will use the reduction returned by DefaultReduction.
- dims
Dimensions to plot, must be a three-length numeric vector specifying x-, y- and z-dimensions
- axis_labs
A character vector of length 3 indicating the labels for the axes.
- palette
Color palette name. Available palettes can be found in thisplot::show_palettes. Default is
"Paired".- palcolor
Custom colors used to create a color palette. Default is
NULL.- bg_color
Color value for background(NA) points.
- pt.size
The size of the points in the plot.
- cells.highlight
A logical or character vector specifying the cells to highlight in the plot. If
TRUE, all cells are highlighted. IfFALSE, no cells are highlighted. Default isNULL.- cols.highlight
Color used to highlight the cells.
- shape.highlight
Shape of the cell to highlight. See scattergl-marker-symbol
- sizes.highlight
Size of highlighted cell points.
- lineages
Lineages/pseudotime to add to the plot. If specified, curves will be fitted using stats::loess method.
- lineages_palette
Color palette used for lineages.
- span
The span of the loess smoother for lineages line.
- width
Width in pixels, defaults to automatic sizing.
- height
Height in pixels, defaults to automatic sizing.
- save
The name of the file to save the plot to. Must end in ".html".
- force
Whether to force drawing regardless of maximum levels in any cell group is greater than 100. Default is
FALSE.
Examples
data(pancreas_sub)
pancreas_sub <- standard_scop(pancreas_sub)
#> ℹ [2026-01-27 07:24:09] Start standard scop workflow...
#> ℹ [2026-01-27 07:24:09] Checking a list of <Seurat>...
#> ! [2026-01-27 07:24:09] Data 1/1 of the `srt_list` is "unknown"
#> ℹ [2026-01-27 07:24:09] Perform `NormalizeData()` with `normalization.method = 'LogNormalize'` on the data 1/1 of the `srt_list`...
#> ℹ [2026-01-27 07:24:11] Perform `Seurat::FindVariableFeatures()` on the data 1/1 of the `srt_list`...
#> ℹ [2026-01-27 07:24:11] Use the separate HVF from srt_list
#> ℹ [2026-01-27 07:24:12] Number of available HVF: 2000
#> ℹ [2026-01-27 07:24:12] Finished check
#> ℹ [2026-01-27 07:24:12] Perform `Seurat::ScaleData()`
#> ℹ [2026-01-27 07:24:12] Perform pca linear dimension reduction
#> ℹ [2026-01-27 07:24:13] Perform `Seurat::FindClusters()` with `cluster_algorithm = 'louvain'` and `cluster_resolution = 0.6`
#> ℹ [2026-01-27 07:24:13] Reorder clusters...
#> ℹ [2026-01-27 07:24:13] Perform umap nonlinear dimension reduction
#> ℹ [2026-01-27 07:24:13] Non-linear dimensionality reduction (umap) using (Standardpca) dims (1-50) as input
#> ℹ [2026-01-27 07:24:16] Non-linear dimensionality reduction (umap) using (Standardpca) dims (1-50) as input
#> ✔ [2026-01-27 07:24:19] Run scop standard workflow completed
CellDimPlot3D(
pancreas_sub,
group.by = "SubCellType",
reduction = "StandardpcaUMAP3D"
)
pancreas_sub <- RunSlingshot(
pancreas_sub,
group.by = "SubCellType",
reduction = "StandardpcaUMAP3D",
show_plot = FALSE
)
CellDimPlot3D(
pancreas_sub,
group.by = "SubCellType",
reduction = "StandardpcaUMAP3D",
lineages = "Lineage1"
)