Plot Cells {cydar} | R Documentation |
Visualize cells or hyperspheres in low-dimensional space, coloured by marker intensities or log-fold changes.
plotCellLogFC(x, y, logFC, max.logFC=NULL, zero.col=0.8, length.out=100, pch=16, ...) plotCellIntensity(x, y, intensity, irange=NULL, length.out=100, pch=16, ...)
x, y |
A numeric vector of coordinates for each feature (i.e., cell or hypersphere). |
logFC |
A numeric vector of log-fold changes for each feature. |
max.logFC |
A numeric scalar specifying the maximum absolute log-fold change. |
zero.col |
A numeric scalar between 0 and 1, specifying the greyscale intensity to represent a log-fold change of zero. |
intensity |
A numeric vector specifying the marker intensities for each feature. |
irange |
A numeric vector of length 2, specifying the upper and lower bound for the intensities. |
length.out |
An integer scalar specifying the resolution of the colour bar. |
pch, ... |
Additional arguments to pass to |
plotCellLogFC
will colour the points from blue (negative log-FC) to grey (zero log-FC) to red (positive log-FC).
The darkness of the grey colour is set with zero.col
.
If max.logFC
is not NULL
, extreme values in logFC
are winsorized to lie within [-max.logFC, max.logFC]
.
This preserves the resolution for smaller log-fold changes.
plotCellIntensity
will colour the points using the viridis colour scheme, i.e., purple (low intensity) to green (medium) to yellow (high).
If irange
is not NULL
, extreme values in intensity
will be winsorized to lie within irange
.
Like before, this preserves the resolution for smaller changes in intensity.
Users should consider using intensityRanges
to define appropriate values of irange
for each marker.
A vector of colours of length length.out
is returned, containing the colour gradient used for plotting.
The vector names contains the numeric values associated with each colour.
This can be used to construct a colour bar.
Aaron Lun
# Making up some coordinates. x <- rnorm(100) y <- rnorm(100) # Log-FC plot and colour bar. logFC <- rnorm(100) out <- plotCellLogFC(x, y, logFC) out <- plotCellLogFC(x, y, logFC, max.logFC=0.5) plot(0,0, type="n", axes=FALSE, ylab="", xlab="", ylim=c(-1, 1), xlim=c(-1, 0.5)) start.loc <- seq(-0.5, 0.5, length.out=length(out)) rect(-0.5, start.loc, 0.5, start.loc+diff(start.loc)[1], col=out, border=NA) text(0, -0.5, pos=1, names(out)[1], cex=1.2) text(0, 0.5, pos=3, names(out)[length(out)], cex=1.2) text(-0.6, 0, srt=90, "Log-FC", cex=1.2) # Intensity plot and colour bar. intensities <- rgamma(100, 2, 2) out <- plotCellIntensity(x, y, intensities) out <- plotCellIntensity(x, y, intensities, irange=c(0, 2)) plot(0,0, type="n", axes=FALSE, ylab="", xlab="", ylim=c(-1, 1), xlim=c(-1, 0.5)) start.loc <- seq(-0.5, 0.5, length.out=length(out)) rect(-0.5, start.loc, 0.5, start.loc+diff(start.loc)[1], col=out, border=NA) text(0, -0.5, pos=1, names(out)[1], cex=1.2) text(0, 0.5, pos=3, names(out)[length(out)], cex=1.2) text(-0.6, 0, srt=90, "Intensity", cex=1.2)