Skip to contents

Plotting 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. If FALSE, no cells are highlighted. Default is NULL.

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" )