File Exchange

image thumbnail


version 1.1 (6.94 KB) by

WIGGLE displays a matrix as lines plus filled lobes, useful for oscillatory and/or seismic data.



View License

The wiggle display is an ingenious methodology that displays two dimensional scalar fields on a horizontal plane. Originally developed by the geophysical community, the wiggle plot was created to provide a visual analysis of seismic and seismological data, or any other vibration data, in order to help the identification of events that can be stressed out with the coherent alignment of lobes. Ultimately those events can be related to geological features and/or can help the determination of the some physical properties of rocks, such as the velocity of P and S waves. Before digital displays were standard in the industry the wiggle plot was composed either by oscillatory continuous lines and black filled lobes, both drawn by special plotters on long paper sheets. Nowadays, when digital graphical displays are easily available, both elements, the lines and the lobes, are merged into a new one display called wiggle.

The function WIGGLE should to work in the same way native Matlab functions IMAGESC or IMAGE work, but with some complementary options which allow control cosmetic properties. Basically one can control the color and direction of the lines, the color of the left and right lobes, among others. In order to control these features, a controlling string must be provided as input, in a similar way the function PLOT allows control of the graphical elements.

Assuming that A is a matrix, a simple example is WIGGLE(A,'r'), which displays the columns of A as red lines ('r') with black filled right lobes. Another not so simple example is WIGGLE(A,'mBG'), which displays the lines in magenta ('m'), the left lobes in blue ('B') and the right lobes in green ('G'). The characters' order in the controlling string is not relevant, meaning that WIGGLE(A,'mBG') produces the same result as WIGGLE(A,'BmG') or else WIGGLE(A,'BGm'). The only exception is when dealing with the uppercase characters, which control the lobes color. For instance WIGGLE(A,'GmB') display the left lobes in green and right lobes in blue, which is quite different of what the original example, WIGGLE(A,'mBG'), produces.

Check out the file test_wiggle.m for more examples of usage of WIGGLE function, especially about the controlling options provided by the string with special characters.

Comments and Ratings (6)


Hi, Could you please tell me how to increase the line width of the trace? Thank you very much!

Simple and nice, thank you. I really appreciate that just a matrix of traces is needed as input

Xb Zzzh

Please tell me how to set level of gain when using the Function to display the seismic dataset.
The code and the test script is really clear!


Nice code!!! Thank you very much.

Nice piece of code. Thanks.


marden (view profile)

Pretty neat, any plans of implementing wiggle.m into plotting wiggles into 3D?



Hopefully improved and corrected description.

MATLAB Release
MATLAB 7.14 (R2012a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video