labelPeaks-methods function

Draws peak labels to plot.

Draws peak labels to plot.

labelPeaks draws the corresponding mass values on top of the peaks stored in a MassPeaks object to a plot. methods

## S4 method for signature 'MassPeaks' labelPeaks(object, index, mass, labels, digits=3, underline=TRUE, verticalOffset=abs(diff(par("usr")[3:4]))*0.01, absoluteVerticalPos, adj=c(0.5, 0), cex=0.7, srt=0, avoidOverlap=FALSE, arrowLength=0, arrowLwd=0.5, arrowCol=1, ...)

Arguments

  • object: MassPeaks object.
  • index: integer/logical, indices of peaks to label.
  • mass: numeric, mass of peaks to label.
  • labels: character, use labels instead of mass values as peak label.
  • digits: integer, number of decimal places.
  • underline: logical, underline peak values?
  • verticalOffset: numeric, move label vertically (relative to peak height).
  • absoluteVerticalPos: numeric, absolute y value for the label. If missing verticalOffset is used.
  • adj: numeric, adjust text to the left, center, right and top, center, bottom; see text.
  • cex: numeric, font size, see par.
  • srt: numeric, the label rotation in degrees.
  • avoidOverlap: logical, try to find label coordinates to avoid overlap.
  • arrowLength, arrowLwd, arrowCol: arrow parameters, possible vectors. NA values in arrowCol cause the arrow to be omitted, see arrows.
  • ...: arguments to be passed to text.

Details

Please note that avoidOverlap = TRUE is just supported for srt %% 90 == 0 (means srt has to be a multiple of 90 degree).

Author(s)

Sebastian Gibb

See Also

MassPeaks, plot,AbstractMassObject,missing-method

Website: https://strimmerlab.github.io/software/maldiquant/

Examples

## load package library("MALDIquant") ## create a MassPeaks object from scratch p <- createMassPeaks(mass=1:20, intensity=sample(x=100:10000, size=20), metaData=list(name="example")) ## plot peaks plot(p) ## label the first 5 peaks labelPeaks(p, index=1:5) ## label all peaks in mass range 15 to 20 labelPeaks(p, mass=15:20, underline=FALSE) ## label highest peaks (top 5) top5 <- intensity(p) %in% sort(intensity(p), decreasing=TRUE)[1:5] labelPeaks(p, index=top5, col="red") ## real example data("fiedler2009subset") ## a simplified preprocessing r <- removeBaseline(fiedler2009subset[[1]]) p <- detectPeaks(r) plot(p) ## label highest peaks (top 10) and avoid label overlap top10 <- sort(intensity(p), decreasing=TRUE, index.return=TRUE)$ix[1:10] labelPeaks(p, index=top10, avoidOverlap=TRUE, digits=1) ## use own labels and rotate by 90 degree plot(p) labelPeaks(p, index=top10, labels=paste("TOP", 1:10), underline=FALSE, srt=90, adj=c(0, 0.5), col=2)