Learn R Programming

seewave (version 2.2.3)

oscillo: Show a time wave as an oscillogram

Description

This graphical function displays a time wave as an oscillogram in a single or multi-frame plot. The envelope of the wave can also be shown.

Usage

oscillo(wave, f, channel = 1, from = NULL, to = NULL, fastdisp = FALSE,
scroll = NULL, zoom = FALSE, k=1, j=1, cex,
labels = TRUE,  tlab = "Time (s)", alab = "Amplitude",            
byrow = TRUE, identify = FALSE, nidentify = NULL, 
plot = TRUE, colwave = "black", 
coltitle = "black", cextitle = 1.2, fonttitle = 2,
collab = "black", cexlab = 1, fontlab = 1,
colline = "black",
colaxis = "black", cexaxis = 1, fontaxis = 1,
coly0 = "lightgrey",
tcl = 0.5, title = FALSE, xaxt="s", yaxt="n", type="l", bty = "l")

Value

Data are returned as one-column matrix if plot is FALSE.

identify returns a two-column matrix with the time and amplitude coordinates of points successively chosen on the oscillogram.

Arguments

wave

an R object.

f

sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.

channel

channel of the R object, by default left channel (1).

from

start of the oscillogram (in s).

to

end of the oscillogram (in s).

fastdisp

faster graphic display for long wave. The oscillogram is displayed/saved faster in the graphic device/ graphic file when set to TRUE, with a cost on graphic resolution.

scroll

a numeric of length 1 allowing to move along the time wave using a slider panel. This numeric corresponds to the number of successive windows dividing the time wave.

zoom

time zoom in with start and end points chosen on the oscillogram with a cursor.

k

number of horizontal sections (by default =1).

j

number of vertical sections (by default =1).

cex

pitch size if type = "p".

labels

if TRUE plots time and amplitude labels (by default TRUE).

tlab

label of time axis.

alab

label of amplitude axis.

byrow

logical, if TRUE, the sections are filled by rows, otherwise the sections are filled by colmuns (by default TRUE).

identify

returns the time and amplitude coordinates of points chosen with a cursor on the oscillogram.

nidentify

a numeric vector of length 1, specifies the number of points to identified on wave if identify is TRUE.

plot

logical, if TRUE returns an oscillographic or envelope plot of wave(by default TRUE).

colwave

colour of the oscillogram or of the envelope.

coltitle

if title is TRUE, colour of the title.

cextitle

character size for the title.

fonttitle

font for the title.

cexlab

character size for axes labels.

fontlab

font for axes labels.

collab

colour of axes labels.

colline

colour of axes line.

colaxis

colour of the axis annotation.

fontaxis

font of axis annotation.

cexaxis

magnification for axis annotation.

coly0

colour of the y=0 line.

tcl

length of tick marks.

title

TRUE to add a title with information on wave duration and f, FALSE to live it blank, or a character string to add any desired title.

xaxt

equivalent to xaxt of par (by default ="s").

yaxt

equivalent to yaxt of par (by default ="n").

type

type of plot, by default "l". Use "n" for no plot.

bty

the type of box to be drawn around the oscillogram.

Author

Jerome Sueur sueur@mnhn.fr and Caroline Simonis csimonis@mnhn.fr.

See Also

dynoscillo, oscilloST, oscilloEQ, cutw, pastew, timer

Examples

Run this code
data(tico)
# a simple oscillogram of a bird song
oscillo(tico)
# zoom in
op<-par(mfrow=c(4,1),mar=c(4.5,4,2,2))
oscillo(tico,22050,cexlab=0.75)
oscillo(tico,22050,from=0.5,to=0.9,cexlab=0.75)
oscillo(tico,22050,from=0.65,to=0.75,cexlab=0.75)
oscillo(tico,22050,from=0.68,to=0.70,cexlab=0.75)
par(op)
# the same divided in four lines
oscillo(tico,f=22050,k=4,j=1)
# the same divided in different numbers of lines and columns
oscillo(tico,f=22050,k=4,j=4)
oscillo(tico,f=22050,k=2,j=2,byrow=TRUE)
oscillo(tico,f=22050,k=2,j=2,byrow=FALSE)
# overplot of oscillographic and envelope representations
oscillo(tico,f=22050)
par(new=TRUE)
env(tico,f=22050,colwave=2)
# full colour modifications in a two-frame oscillogram
op<-par(bg="grey")
oscillo(tico,f=22050,k=4,j=1,title=TRUE,colwave="black",
    coltitle="yellow",collab="red",colline="white",
    colaxis="blue",coly0="grey50")
par(op)
# change the title
data(orni)
oscillo(orni,f=22050,title="The song of a famous cicada")
# move along the signal using scroll
if (FALSE) {
require(rpanel)
oscillo(tico,f=22050,scroll=8)}

Run the code above in your browser using DataLab