Version
|
| 01Jan17 |
- New features have been added to the image pseudo object which also has been generalized
so that it now allows the use of more than more than one image object in a single figure window.
The default positioning of the optional components have been improved. The number of colormap
selections has been increased (from 7 to 10). A new meaning has been added to the Edge parameter.
(Specifying "Edge=0" indicates that the complete data range of the input should be used.)
A new demo program called julia.m was added to demonstrate some
of these new features and also demonstrates several mouse driven gui programming techniques.
- plt.m was a mere 1440 lines of code for its first release back in 2004, but now
it has grown to about 4900 lines which is pretty large for a single function. To make this
function more manageable it has been split this into two parts. The first part
(pltinit.m) includes the code which creates a new plot
(a new plt pseudo object ... if you will). The second part
(plt.m) contains everything else, i.e. the code to
create, access, or modify all the other pseudo objects. This change also makes plt applications
clearer, although you can continue to call plt the same way you used to with previous releases
if you prefer. This is explained more clearly in the
Calling sequence and line styles section.
- A simpler and more natural method of using the mouse to adjust the size of an
expansion box was added. (The older method is still available). See
"Adjusting the expansion box" in the
Zooming and panning
section of the help file.
- All eight of the demo programs that display moving traces now also show the number of
updates per second. Also programs that include automatic sequencing (curves.m and
demoplt.m) display the elapsed time required for the sequence to complete. These measures
are useful for comparing GUI speeds between different computers and different Matlab versions.
demoplt.m was enhanced, to allow all the demos to be run in
sequence without having to click "continue" for each program. This is useful for the above
mentioned speed measurements, as well as providing a way to quickly check that no errors
where introduced by changes to plt.m or pltinit.m.
- Many of the cursor commands have been simplified
- Commands of the form: plt('cursor',cid,'set','param')
have been shortened to: plt('cursor',cid,'param').
The only exceptions to that are that 'set','position'
changes to 'setObjPos' and
'set','activeLine' has been changed to
'setActive' and
'set','expHist' has been changed to
'exRestore'
- Commands of the form: plt('cursor',cid,'get','param')
have been shortened to: plt('cursor',cid,'param').
The only exceptions to that are that: 'get','position'
changes to just 'get'
and 'get','activeLine'
was changed to: 'getActive'.
- The 'axisCBaux' cursor command was changed to
'axisCBr'
- A new option was added to the 'xlim', 'ylim',
and 'xylim' commands to allow bypassing the axis change callback.
- All the cursor commands used to be case sensitive, however now they are case insensitive.
- The use of the MotionEdit and MotionZoom
parameters has been slightly simplified. Also a similar parameter called
MotionZup has been added.
The julia.m demo program demonstrates the use of this new parameter.
These new parameters and the simplified cursor command structure are all described in the
Cursor commands section
- The slider pseudo object commands have been simplified by allowing the 'set'
argument to be optional.
- A new optional modifier (j or k) is now allowed with the %w and %v formats in prin and Pftoa.
Also cell array arguments are now allowed in the input parameter list.
This is described fully in the prin help file (prin.pdf) which you can view by simply typing
"prin" (i.e. no arguments) at the Matlab command prompt.
- Added a new item to the plt menu in the menu bar (Hide/Show cursor controls)
- The enable parameter of the edit and pop pseudo objects
was changed from a two way switch to a three way switch (hide/disabled/enabled).
- When you click on the menubox Help tag, plt used to search for
just two possible help files (plt.chm and plt.htm). This list has been expanded to search
for three other possible help files all having the same name as the application followed with the extension .chm, .htm, or .pdf. Also when a chm help file is specified, you now have the ability to specify that the chm file be opened starting at a particular topic. Details are
found in the description of the HelpFile parameter in the
Options section.
- Several improvements were made to the HelpText pseudo object. The 'text' command
was added to the pseudo object. Also a new option was added for how the text properties are applied.
HelpText objects sometimes interfered with the axis callback function, but this problem was solved
by assigning the axis callback to the helptext as well.
- A bug was fixed that prevented you from moving some axes in the mouse driven repositioning mode.
- Other minor bug fixes.
- Improved the formatting of the help file, and corrected several documentation errors.
- A compiled version of demoplt.m is now available (for Windows computers only) which allows you
to run all the demo programs without having to install plt (and in fact Matlab doesn't even
need to be installed). This may be useful if you are unsure if you want to install plt, but
still want to investigate its features. It's also useful so that you can run the demos with
signal processing educational value on computers that don't have Matlab. This is not included
in the file exchange submission since the file exchange does not permit executable files,
but you can download it from my web site (www.mennen.org).
It's the first entry in the "Other Stuff" category. Amazingly enough
it's only a 5 MByte zip file. Noting to install. Simply unzip the file to the folder of your
choice and start it by clicking on the "demopltC.exe" file.
|
| 02Nov16 |
- The editz.m example program was improved by combining
the two figures into one, both to demonstrate the use of the 'Fig'
parameter and to make the application easier to use.
- The pltsq.m example program was rewritten to make it clearer
and more concise. A new checkbox was added (called "Live cursor") which when
checked allows the cursor to follow its trace as it changes amplitude. Also a
smoothing function was applied to the update rate readout to make it easier to read.
- The bounce.m example program was enhanced so that it also can
display arrows representing the velocity of each marker. This was to demonstrate
the use of the Pquiv.m auxiliary function as well as the
use of the super button mode of the popup pseudo object (used to control the length
of the velocity arrows).
- Enhanced the gauss.m example program to alternatively display
the error terms instead of the convolution functions. A checkbox was added to select
whether the error terms should be displayed. These error terms are stored in the lines'
Zdata property and shows the value of this technique for storing alternative plot values.
- Added comments and made other minor changes to several of the other example programs.
- Added a new OID code of -3. These OID (Object ID) codes are used
by the 'xy' parameter and this new code allows control of the
position of the main axes as well as its associated cursor controls. Unlike the other OID
codes, the position argument may be complex. The complex component adjusts the scaling of
the cursor controls. The editz, plt50
and pltvar examples were modified to take advantage of the
flexibility provided by the complex position parameter. A full description of the new OID
code can be found under the 'xy' parameter in the
Axis properties section.
Actually this OID code was added for the October release, but I forgot to document it.
- Some of plt's components and pseudo objects operate repeatedly when the mouse button is held
down. The repeat rate of these objects were controlled globally, but now each of these objects
may be controlled individually, so that different objects can use different rates. Also a
means of disabling the repeat feature is now available. This is explained fully in the
description of the edit pseudo object in the
Pseudo objects section.
(Look for the description of the repeat application data property.)
- Added an option to the cursor ZoomOut command to control the zoom amount (formerly fixed at 40%).
- Fixed bugs in pltwater.m which could cause a crash when stopping an updating plot or when
closing a figure while the plot is updating.
- Fixed a bug which created a small memory leak when closing a window that was created using
the 'Fig' parameter.
- Clicking on the "x" or "y" labels in front of the cursor readouts is used allow the use
of the edit readout boxes for modifying the axis limits. There was a bug preventing that
from working, however that bug has been fixed in this release.
- Fixed a bug related to using HelpText along with the 'Fig' parameter.
- Fixed a bug related to using the 'xstr' or 'ystr' parameters along with the 'Fig' parameter.
- Fixed a bug in pltwater.m relating to its close request function.
(This could have caused a crash when exiting a program while the water fall plot was running.)
- Added help text to the top of the pltmap.m example program.
- Added the use of the Link to the circles12.m example program so
that closing any one of its four figure windows will close all of them.
- Substantially rewrote the
Zooming and panning
section to describe these features more clearly and to update it to agree with some
minor recent changes in the way these features work.
|
| 19Oct16 |
- In earlier releases, the 'Fig' parameter existed, but
plt could not be called more than once using the same figure. That restriction has
now been lifting making this parameter far more useful. The expanded use of the
'Fig' parameter is described at the end of the
Labels and figure properties section.
That section describes how the 'Fig' parameter may be used to create multiple plots in a single figure
and contrasts that with the 'Subplot' parameter which is used for the same purpose.
(Each method has different advantages.)
- The plt50.m example program was rewritten to demonstrate the new use of the
'Fig' parameter. Since that example is focused on data exploration, both of its plots
support the full generality of the plt cursoring system with none of restrictions imposed by the use of the
'Subplot' parameter. A new example program called pub3.m
was also added to demonstrate the use of the 'Fig'
parameter for plots focused on publication quality. The ability to create multiple plots
each containing both left and right hand axes made the 'Fig' parameter
the right choice for that example. Both examples are described in more detail in the
Programming examples section.
- The use of color selection files has been generalized. A new section of the help file
(Default colors) has been added to describe the
default color scheme and the use of the color selection files.
- The default trace color order has been modified somewhat (although the first 13 colors
remain the same as before).
- The cursor behavior when a number is entered into the Ycursor edit box has been changed to
be more useful and also more consistent with the behavior of the Xcursor edit box. This
behavior is described under "Typing in a cursor location" in the
Cursoring section.
- As before, the dual cursor may be enabled using the "Set dual cursor" submenu of plt
menu in the menu bar. However now the "Set dual cursor" submenu acts as a toggle,
i.e. if the dual cursor was already enabled, selecting this submenu again will disable it.
- Enhanced the pltn.m' example program by adding a pseudo popup menu to
control the trace thickness.
- Minor bug fixes and documentation corrections.
|
| 24May16 |
- The reach of the plt toolbox has been dramatically extended from its historical 2D
roots into the domain of 3D function plotting by including a new pseudo object
called image (primarily for displaying intensity maps)
as well as a new auxiliary function called pltwater.m
(for waterfall plots). Matlab already has many tools for 3D plotting (mesh, meshc,
meshz, waterfall, surf, shading, surfc, surfl, surfnorm, ezsurf, contour, contour3,
contourf, plot3, slice, isosurface, smooth3, isocaps, isonormals, ribbon, quiver,
quiver3, fill3, stem3, sphere, cylinder), yet when you need to scroll thru slices
of a massive 3D data set in detail and use the cursors to identify or mark particular values
or features, plt now offers something that those other plotting tools can't provide.
For now plt only supports 3D plots of single valued functions, i.e. z = f(x,y).
The image pseudo object is fully described in the
Pseudo objects section.
pltwater.m is fully described at the end of the
Auxiliary functions section.
- A new example program pltmap.m was added to the demo folder
to demonstrate the use of the new image pseudo object. Because this example and its underlying
pseudo object have such a wide variety of features, a tutorial of sorts is available
to help you learn about these features. For the other examples, this information is
included as comments in the program header, but this was not done for pltmap.m because of
its length. So to find this tutorial, please see the description of pltmap.m in the
Programming examples section.
- A new example program wfalltst.m was added to the demo
folder to demonstrate how to use the pltwater.m function mentioned above. Note that
all of the controls on the screen were added by plt & pltwater, so wfalltst only
had to supply the data to plot. Some help text is added to the plot to get you started,
but eventually you will want to read the full pltwater.m documentation at the location
mentioned above. The previous plt release included a demo program called
wfall.m which demonstrates the basic ideas involved with
creating a waterfall plot, and this demo is still included in the demo folder.
However, unlike pltwater.m, wfall.m doesn't have the control, cursoring, scaling,
scrolling, and annotating options needed to serve as a general-purpose plotting tool.
- A new auxiliary function pltt.m (which stands for "plt trace")
has been added to the plt folder. This function can be used to add traces to an existing
plt figure, which makes it the moral equivalent of the hold on
and hold off commands that are used with Matlab's native
plot command. pltt.m spares you from having to type these extra
hold on/off commands and alleviates the confusion that can result from forgetting the hold status.
The pltt function is described fully in the new
Adding traces section.
Related to this new auxiliary function is a new plt parameter, concisely named
'+' which allocates space in the TraceID box for traces that
are added later with the pltt function. The '+' is the last
parameter described in the
Trace properties section.
- A new auxiliary function figpos.m has been added to the plt folder
to aid in figure window positioning. The main advantage of figpos is that one can
position figures relative to the free space available on the screen. The traditional
Matlab positioning coordinates don't take into account the taskbar position, the
figure borders, and the title bar size. This makes it difficult to avoid overlapping
figure windows with the taskbar when you are trying to take advantage of the entire
screen real estate. When you supply a position vector to plt (with the 'pos' or 'position'
parameter), plt automatically runs these coordinates through figpos. figpos.m calls
on screencfg.m (also in the plt folder) to determine the
screen coordinates of the area that is available for the figure windows. Both of these
new functions are fully described in the
Auxiliary functions
section. Many of the demo routines were simplified by taking advantage of this new
feature.
- Quite often you will want to add annotations to the figure (permanent, temporary, or
toggleable) to identify certain elements of the plot, list equations used, or to provide
the user some help in determining how to control or interpret the plot. To avoid having
to repeat similar code for this purpose in many of your GUIs, a new pseudo object was
added called 'HelpText' which provides these functions.
This pseudo object is summarized in the
GUI building with plt
section and described more fully in the
Pseudo objects
section. Many of the demo programs (including curves, editz, gauss, gui2, pltquiv, subplt,
tasplt, trigplt, and wfalltst) make good use of this feature.
- With previous versions, once you drew an expansion box you only had two choices - either left-click
to accept the result (i.e. expand the axis to the limits indicated by the zoom box) or right-click
to cancel the zoom box, probably to begin again in an attempt to draw the desired zoom box.
With this release, you may also choose to make fine adjustments to either the size or the position
of the zoom box ... which is usually far easier than simply starting over again. To see exactly how
to make these adjustments, consult the paragraph titled "Adjusting the expansion box" in the
Zooming and panning section.
- A few alternative methods of specifying the position and shape of the slider pseudo
object were added which provide more flexibility as well as a more compact form
for the pseudo slider (in both vertical and horizontal formats).
Details can be found in the
Pseudo objects section.
The bounce.m example program was substantially rewritten to show
the use of the new pseudo slider forms (both vertical and horizontal) as well as to demonstrate
more sophisticated plotting techniques. Also the new pltmap.m
uses many of the vertically oriented pseudo sliders. So many in fact that there would not have been
room to fit them all using the full original horizontal style.
- A simplified method of using the 'TIDcolumn' parameter was added.
For full details, see the description of this parameter in the
Trace properties section.
The pltn.m example program was simplified by taking advantage
of this new method.
- In the prin command, two optional modifiers
(+/-) for the
W format were added that allow the output to be padded with blanks.
Also an easier way to view the prin help file (prin.pdf)
was added - simply type prin (i.e. without arguments)
at the Matlab command prompt, and the help file will appear.
- The ability to change the name of the trace (as it appears in the TraceID box) after the initial
plt call that specified these trace names. See "Right-clicking on the Cursor ID Tag"
near the end of the Cursoring section.
- A new cursor command ('updateN') was added which has the
same effect as the 'updateH' command except that the cursor
callback (defined by 'MoveCB') is not executed. Details in the
Cursor commands section
- The default figure name (if none was specified with the 'FigName'
parameter) used to be plt
but now the name of the function that is calling plt is used as the default name.
- plt('pop',H,'get') which is already an abbreviation for
plt('pop',H,'get','index') may now be further abbreviated as
plt('pop',H).
- plt('edit',H,'get') which is already an abbreviation for
plt('edit',H,'get','value') may now be further abbreviated as
plt('edit',H).
- plt('slider',H,'get') which is already an abbreviation for
plt('slider',H,'get','value') may now be further abbreviated as
plt('slider',H).
- The argument for the 'HelpFile' and
'HelpFileR' parameters normally specifies document to display,
however, now the parameter may also be a Matlab command to be executed.
- Many improvements to the demoplt.m program including:
- Added a string (lower right corner) that shows the number of (uncommented) lines
of code used in the currently-selected example program. At a glance, this number
gives you an idea of the complexity of the example relative to the other demos.
- Added a modal dialog on exit to control whether changes to the setup should be
saved in the demoplt.mat configuration file. (If no changes were made to the
configuration, the modal dialog is skipped.)
- A history of the changes to the color configuration is displayed at the top
of the listbox. This is partly done just to demonstrate the use of the ColorPick
callback function.
- The size of the figure window is preserved in the configuration file, but the
figure window is always placed in the far lower right corner of the screen to
minimize the overlap between the demoplt figure and the example programs being displayed.
- Many improvements to the curves.m example program including:
- Added four additional interesting curves to the collection.
- Greatly enhanced the program's educational value by adding annotations to the plot area
describing many details of the currently displayed set of curves.
- Added a way to reset the curve parameters to the default settings. (Default button)
- Improved the way functions may be defined in complex or parametric form.
- Fixed a bug introduced a few years ago causing plt to crash when improperly editing
an edit pseudo object. Also fixed a dozen or so other minor bugs in plt and the demo
programs.
|
| 08Nov15 |
- Major enhancements to the subplot capabilities:
- Previously you were limited to two columns of plots. As of this release any
number of columns are allowed. A new example program called
subplt16.m was added to demonstrate this new flexibility.
- A way of altering the default vertical spacing between plots is now provided.
(Previously only the horizontal spacing was adjustable.)
- Previously the cursors and x-axis limits for all the plots within a column were synchronized.
With this release, this synchronization is optional and is referred to as "linked" mode.
The new alternative mode is called "independent" mode, and as the name implies, all plots may
have different x-axis limits and different cursor locations. A new example program called
subplt20.m was added to demonstrate this new mode. Note that
the independent mode allows you to pack even more plots into a given area.
- Since subplots were added late in the development of plt, many plt features did not work
appropriately when subplots were enabled. For example the peak/valley finder and marker
select button did not work. Also 5 of the tags in the menu box did not work for subplots
(LinX, LinY, Mark, Zout, XYrotate). I'm happy to report that all those problems are now fixed.
The delta cursors now also work when subplots are enabled, however you can only use them on the
(lower left) main plot since there isn't enough room to display the delta cursor readouts for
all the subplots.
- A few enhancements to the subplt8.m example program, which now uses
the default Matlab color scheme with a modified trace color order (accomplished using plt's
'ColorDef' argument).
- The order of the y-axis cursor readout edit boxes was swapped (left to right) as that felt
more natural. In any case, the color of the cursor readout edit boxes are linked to the color
of the trace that is being cursored making confusion unlikely.
- Trace data may now be included in the plt argument list using cell arrays.
Full details on how to use this are included in the
Calling sequence
section. The gauss.m demo program was modified (and simplified) by taking
advantage of this new option.
- When the multiCursor is enabled, plt previously added a cursor marker to every trace. Now however,
cursor markers are not added to disabled traces or to traces whose Xdata differs from the currently
active trace. The full details are in the
Cursoring section.
- The trace color order was modified slightly. To see what the new trace color order looks like
for the first 99 traces, see the section called
Selecting traces.
To see a list of the trace colors in terms of the RGB triples, see the description of
the TRACEc parameter.
- The 'Position' or 'Pos' argument specifies
the [xleft ybottom width height] position of the plt figure window as before, however now you
may specify just the size by using a 2 element vector in which case the xleft and ybottom values
will be set to their default values. For example 'Pos',[500 600]
would be equivalent to 'Pos',[9 55 500 600] since the default
values of xleft & ybottom are 9 & 55 respectively.
- A new option (replace vs. append) was added to the 'ColorDef' argument.
Also the default changed from append to replace. See the details in the
Colors section.
- The FigBKc, PltBKc, TraceC, xyAXc, xyLBLc, GRIDc, and TraceC parameters continue to accept
standard Matlab color triples as before (i.e. a row vector of 3 numbers all between zero and one).
But now there are two additional color specification formats allowed. The first is "percent", meaning
that [15 35 92] is equivalent to the matlab color triple [.15 .35 .92]. The 2nd alternative method
is to use a single number to represent all three colors. Using that method the color above would
be represented by the number 153592. Of course if you prefer the standard Matlab style, you can
ignore all this, but otherwise, check out the full description in the
Colors section.
- Various improvements to the curves.m demo program. These improvements
don't demonstrate any additional plt features, however the new curves that have been added
rounds out this collection of classic and unusual plane curves ... perhaps providing some
educational or recreational value.
- Fixed several problems relating to the screen positioning of objects when using the new graphics
engine of R2014b or later.
- Fixed errors in the documentation describing the Cursor commands, the xy
parameter, and the Options parameter. Also made other minor
documentation corrections and improvements.
|
| 03Jul15 |
- Enhanced the pltquiv.m example program to demonstrate
data editing on quiver plots, the use of the MotionEdit
parameter, and real time Hermite polynomial interpolation.
- Added a default for the Cursor ID, simplifying many of the demo programs.
- Simplified data editing routines by adding the cursor index to the
'Dedit' figure application data.
Added a full description of the Dedit array in a table at the end of the
Data editing section.
- Minor improvements to the grid pseudo object.
- Multi-line titles are now allowed. See the Title parameter in the
Labels and figure properties section.
- Added the title property prefix (^) which is described in
Axis properties section.
- Added right click actions to the "pub" button of the pub2.m
example and to the "Delete P/Z" button of the editz.m example
- Improvements in the plt('datestr') function
- Fixed bugs relating to the use of the 'Fig' parameter.
- Fixed a bug which caused the right click action to be executed when double clicking
on the LinX/LogX or LinY/LogY menubox tags.
- Fixed a bug in the xView slider feature that caused it to interfere with the graph title.
- Fixed a bug in the 'Nocursor' option that unintentionally
left the cursor marker visible.
- Fixed bugs causing error messages when cycling quickly thru demoplt.
- Many corrections and improvements to the help file especially in the
Pseudo objects
section which was substantially rewritten to include the motivation behind these objects.
|
| 13Mar15 |
- Added the "multiCursor" feature which allows you to cursor all plot traces simultaneously.
Usually this cursoring mode is enabled from the Yedit menu, but sometimes you may want to
have this mode enabled at startup. This can be done using the new "multiCursor" Options item.
(As with all the other option items, only capital letters are significant so if you want to
be concise just the letter C is sufficient). The trigplt.m demo
program was modified to use this new options item to enable the multiCursor feature.
The multiCursor feature is more completely described in the
Cursoring section.
- Added the "xView slider" feature that offers yet another way to pan and zoom the display
horizontally. It is especially useful with long time records because of how easy it is to
use and how well it gives you feedback about where and how much of the data you are viewing.
Usually this feature is enabled from the Yedit menu, but sometimes you may want to
have the xView slider visible at startup. This can be done using the new "xView" Options item.
(As with all the other option items, only capital letters are significant so if you want to
be concise just the letter V is sufficient). The pub2.m demo
program was modified to use this new options item to enable the xView slider. The xView
slider feature is more completely described in the
Zooming and panning section.
- Modified the plt50.m demo program to demonstrate how to modify the
cursor size and shape.
- Fixed a bug in the implementation of the Link parameter (with pre-R2014b versions)
- Fixed a bug in the initialization of the cursor data window (with R2014b only)
- Fixed a bug which caused plt to behave improperly when given an empty 'Right'
parameter.
- Various documentation improvements
|
19Jan15
|
- Although plt retains all its previous capabilities plt
has been expanded and refocused as a GUI building tool, primarily for applications
which include one or more 2D plots. This was accomplished by enhancing the pseudo objects and
by adding the plt move command to allow you to move or resize
all the graphical objects using the mouse. When you reposition or resize an object, its new
coordinates are displayed in the command window so that you can make the new locations permanent
by embedding these coordinates into your program. These operations are described in a new section of the manual:
GUI building with plt
- In addition to the plt move command, you may also enter the
repositioning mode by right-clicking on the cursor delta button. When you do this, the delta symbol
on the button changes to a double right arrow to indicate that you are now in repositioning mode.
Also the uicontrols will be grayed out to indicate that these controls may be repositioned/resized.
Right-clicking on this button a second time cancels the repositioning mode, changes the button symbol
back to delta, and restores all the controls to their original functions.
- Two new example programs (gui1.m and gui2.m)
where added to help you learn how to use the new plt GUI building features.
An alternate version of gui2.m called gui2ALT.m is also included in the demo folder to demonstrate
an additional approach to the problem that may be instructive. Both of these new examples use
Matlab features not found in Matlab v6.1 so alternate versions (called gui1v6 and gui2v6) are
available for running on that version. demoplt queries the Matlab version and automatically
runs the appropriate version of gui1 and gui2.)
- Support for the latest version of Matlab (R2014b) has been added. The plt options related to the
line erasemode are ignored when running R2014b since The Mathworks has abandoned support
for the erasemode line property. The erasemode options continue to work as before for all older
versions of Matlab (dating back to Matlab 6.1). The defaults for the grid style and color have
changed somewhat because of this, and this is described in the default section of the
GRIDc parameter.
As before right-clicking on the Grid tag in the menu box toggles the grid style between
solid and dashed lines.
- Reorganized the plt item in the menu bar. (Also plt Hardcopy was moved from the file menu to the plt menu.)
The new plt menu now shows the mouse shortcuts (in blue) for most of the submenus. These shortcuts are
often more convenient since the menubar is hidden by default.
- The AxisPos parameter which provides a way to
reposition/resize the main plotting axis and/or the TraceID box is still supported
for backwards compatibility, but for new programs a more versatile
xy parameter was added. It serves similar functions but
also allows you to reposition the menu box as well as any plotting axis inside the plt window.
The xy method of specifying the axis size and positions is
simpler and easier to use and is also compatible with the new repositioning mode mentioned above.
(All the objects that can be moved and resized via the xy parameter
may also be moved and resized using the mouse.) The demo programs that used the AxisPos
parameter were modified to use the xy parameter instead.
A complete description of the new xy parameter may be found at
Axis properties
- Several enhancements to the Edit pseudo object:
- Edit objects may be incremented or decremented by a fixed value as before, but now may also
be incremented or decremented by a percentage of the current value.
- The value property was split into two different properties
(value and val). They differ only
in that when you set the latter one (val) the edit
object's callback does not get called.
- An option was added to allow a label to be associated with the edit pseudo object.
- A more concise form for creating the edit pseudo object was added for convenience.
- Several get commands where added allowing you to query
the current setting for any of the edit pseudo object parameters.
- Edit objects now come in two types, type 1/2 using figure/axis coordinates respectively.
Type 1 is usually the most convenient. (Previously only type 2 was supported).
See details at Pseudo objects
- Several enhancements to the Popup pseudo object:
- The right click operation of Popup pseudo object (which advances the popup without opening it)
was enhanced so that holding down the right mouse button continues to advance to the next
selection for as long as you hold down the button. The repeat rate may be altered by the
same method used to control the edit pseudo object repeat rate.
- An option was added to allow a label to be associated with the popup pseudo object.
- An option was added for swapping the role of the left & right buttons (super-button mode).
- A method for opening or closing the popup from a program was added.
- Setting the index of the popup using the 'index' parameter used
to call the popup's callback function after the index was set, just as if you had clicked on
that selection from an opened popup. Now the callback will not be called. However if you
want the callback to be called in this circumstance, specify the negative of the index
as the index parameter.
- A more concise form for creating the popup pseudo object was added for convenience.
See details at Pseudo objects
- Several enhancements to the Slider pseudo object mostly related to the log increment mode.
Also the calling sequence was altered to allow easier use of the optional parameters.
- A new mode was added to the DualCur parameter that allows specifying
the dual cursor trace as an offset from the primary cursor. See the demo program
gui2.m for an example showing the utility of using this mode.
Also the ability to select the DualCur trace interactively was added to the plt menu.
See the Dual Cursor section
for more information.
- A new parameter (CloseReq) was added which allows you to specify a
function to be executed when the plt window is closed.
Details about this new parameter may be found at
Labels and figure properties. The plt50.m,
wfall.m, and gui2.m example
programs where modified to demonstrate the use of this new parameter.
- A new parameter (TIDc) was added which allows you to choose the
background color for the TraceID box. Details about this new parameter may be found at
Colors
Also the solid patch used in the TraceID box to indicate that the trace is on the right
hand axis is now optional. To see how to do that, look at the details of the TraceID
parameter here:
Trace properties
- The demo program pltsq.m was rewritten to use pseudo popups in
place of the uicontrol popups of the previous version. Also the two buttons (start & stop)
were replaced with a single pseudo popup in the "super button" mode. The older version was
renamed to pltsqALT.m and is also included in the demo folder so
you can compare the relative merits of these control types.
- A new example program (pub2.m) was added which demonstrates
how to create a plot optimized for publication by first setting up the desired viewing
window using the cursors on a data exploration mode plot. Another goal of this particular
example was to demonstrate as many unusual plt parameters and programming techniques
as possible.
- The cursor mainCur command was renamed to update
and the cursor updateH (update hold) command was added (similar to the
update command except that y-axis limits are not permitted to change.
- The showTrace command was renamed to show.
Also new is that this command may now be used for both setting and reading which traces are
currently visible. The example program gui2.m demonstrates both uses
of the show command. See details at
Calling sequence
- All the pseudo objects that accept a 'position' argument will
also now accept the more concise 'pos' form of this parameter.
- Several enhancements and bug fixes to the various example programs.
- Many improvements and corrections to the plt help file.
|
13Mar14
|
- Enhancements to edit pseudo object: Values can now be continually incremented or decremented
by holding down the mouse button. Absolute incr/decr values may be specified (as before) or
now they may be specified as a percentage of the current value. incr/decr values may now
be used with floating point edit pseudo objects as well. (Zero increment disables this feature.)
Position may be specified in normalized units (as before) and now data units may be used as well.
The slider in the circles12.m demo program was changed to an edit pseudo object to illustrated its use.
- Improved log grid lines. Now includes subdecade grids for 6 decades or less
- HardCopy figure window now defaults properly for bmp files
- Improved appearance of the menu box (background and border colors)
- Added right click action to "LinY/LogY" tag. It now brings up the hard copy dialog.
- Added 'Link' parameter to force groups of plt figures to close together.
The demo programs editz.m and tasplt.m were modified to take advantage of this new parameter
- Enhanced a few of the functions plotted in curves.m
- Added images & thumbnails of all the example programs to the help file
- Fixed various bugs related to log axis scaling and panning
- Fixed LinX/LogX switching bug for subplots
- Fixed bug which prevented data editing of subplots
- Fixed bugs with the subplot parameter and in the weight.m demo program
- Fixed bug occurring when using the 'MoveCB' parameter with subplots
- Fixed bug occurring when right-clicking on the grid tag using default colors
- Other minor bug fixes.
|
03Jan14
|
- Renamed vbar.m, ebar.m, quiv.m, and ftoa.m
to Pvbar, Pebar, Pquiv, and Pftoa to reduce the
probability of name collisions (since these files typically reside in
the plt folder on the Matlab path).
- Added Linesmoothing to the list of strings
that may appear in the
Options parameter.
When this option is specified, the Linesmoothing property of the traces is set
which tells Matlab to use anti-aliasing techniques to make the traces look
smoother. You can also toggle the Linesmoothing property by right-clicking
on the marker button (labeled with "o"). See important details about this
property in the
Cursoring section
- Changed the default characteristics of the grid lines. The new default is
solid lines instead of dashed lines and the default color has changed from
dim grey (30%) to very dim gray (13%). Also the default erase mode for the
grid lines has changed from 'norm' to 'xor', The grid linestyle may now be selected
by using the new GridStyle parameter. The Linestyle
parameter was also added to the 'init' action of the grid pseudo object.
The grid lines used to update only when a zoom or pan operation was complete, but
this has been changed so that the grid lines are now updated during the pan
and zoom operations. The color file format was updated to include the grid
lines erase mode as well as the new GridStyle parameter
- Left-clicking on the Grid tag in the menu box has the same meaning as
before (i.e. toggling between grid lines and ticks) however now you can also
right click on the Grid tag. The effect of this right click is to toggle back
and forth between the current default grid style and something similar to
the older grid style (i.e. slightly brighter grey dashed lines in normal
erase mode).
- Left-clicking on the Menu tag in the menu box has the same meaning as before
(i.e. toggling the menu bar visibility) but there is a new meaning to right
clicking on the Menu tag. The effect of this right click is to open a new
figure window containing a textual view of the trace data. See
Cursor Data Window in the
Menu box section
- Replaced the "Color/Lines" heading in the menu bar (which included 4 submenus)
with the "plt" heading containing the original 4 submenus and 4 additional ones.
Three of the new menus mirror right click actions of the GUI objects, but the menu
bar makes the actions easier to discover and remember. The 4th action
(Delete Cursor Annotations) is a new feature which allows you to quickly delete
all annotations entered using the Mark tag. (Previously these annotations
could only be deleted one at a time.)
- Added the swap x/y action which swaps the x and y data of all traces
(i.e. displays inverse functions). This action is available from the menu bar
(plt menu) as well as by right clicking on the LinX tag
- The installation has been simplified by always including both the compiled help
file (plt.chm) as well as the all individual html files used to create it.
By default PC systems will open the plt.chm compiled help file and Unix based systems
will open plt.htm (the top level html file). However you can change these defaults.
See the Installation instructions for details.
- As before the HelpFile parameter modifies the
help tag left click action. In a similar manner, the new
HelpFileR parameter modifies help tag right click action.
For a full description of these parameters see
Options.
- Enhancements to the ColorPick pseudo object.
- Improvements to the example programs include:
- Fontsize popup added to demoplt.m
- # of lines control added to pltn.m
- Cycle button added to curves.m
- The upper plot in editz.m now demonstrates the use of Dual Cursors.
- Other more minor enhancements.
- Y-axis metric prefixes are now disabled when using the SubTrace parameter
- Fixed a bug which sometimes prevented you from being able to close the plt window.
- Many other bug fixes and documentation improvements.
|
03Dec13
|
- Removed the plt('ftoa')
and plt('vtoa') commands and replaced and expanded on this
functionality with the separate functions prin.m and
ftoa.m. (ftoa is called by prin and is not usually called directly)
See the new file prin.pdf for a description.
Modified demo\pub.m as well as several of the other
example programs to take advantage of the new features provided by the
prin() function.
- The cursor control buttons (a group of buttons in lower left corner) previously
consisted of 3 buttons (peak finder, valley finder, and delta cursor). As of this release
a 4th button is included in this group (called the marker button) and is labeled with
the letter "o". The function of this new button is described in the
Cursoring section
but if you click on this button 3 times you will already know all it does.
- Left/right-clicking on the x-axis label still moves the cursor left/right one data
element as it did before, but now this has been enhanced so that the cursor continues
to move as long as you hold down the mouse button. The default repeat rate is 33 times
a second, but this is adjustable. See the full description in the
Cursoring section. This gives
the x-axis label nearly all the features of the optional x-axis slider without taking
up any extra space.
- Including the letters H or Hidden
in the options string now instructs plt to leave the plt figure hidden until the figure
visibility property is latter set to 'on'.
- Fixed a bug that appeared only on MACs that caused incorrect displays of some
floating point numbers in edit boxes.
- Other minor bug fixes.
|
06Jun12
|
- Changed the focus of plt somewhat (in the
Introduction) from plotting to GUI
tools although many users will still think of plt primarily as a substitute for plot
and plotyy.
- Added the ColorPick pseudo object. (See
Pseudo objects).
The demoplt.m function was modified to demonstrate how to use
this new pseudo object.
- The data editing capabilities of plt (See
Data editing )
were completely revamped, both to make it easier to use and to allow
its use with subplots. The demo\editz.m demo
routine was substantially rewritten to take advantage of the new
data editing interface.
- Modified the demo\trigplt.m demo routine to show
how to create a "clipboard" button as well as how to modify the position
and appearance of the traceID box.
- Modified the demo\pltvbar.m demo routine to show
how to use the Grid pseudo object to display some tabular character
data.
- The plt('ftoa') function was enhanced to
include an additional formatting code ( 'c' )
which is useful for displaying color triples.
- Many minor bug fixes.
|
| 02Dec11 |
- Added the 'SubTrace' parameter to allow
more flexibility on how traces are assigned to the various subplot axes.
(See
SubTrace Parameter)
- Added a new interpretation of the 'SubPlot'
parameter which allows you to adjust the spacing between two columns of
subplots. (See
Subplot Parameter)
- The demo program demo\pub.m was expanded to
include yet one more plot to show how subplots can be used when formatting
plots for publication and to show how the SubTrace parameter is used.
- Fixed bugs which were causing the delta cursor and peak/valley finder
features to work incorrectly when using Matlab 2009b or newer.
- Fixed bugs which caused the AxisPos
parameter to be interpreted incorrectly when used with subplots.
- Added the 'MotionEdit' parameter which
allows you to specify a function to be executed while the mouse is being
moved during a data edit operation. (See
Mouse Motion Functions.)
The demo\editz.m program
was updated to take advantage of this feature. If you have used previous
versions of editz (which updated the plots only after you have selected
the final root location), you will recognize the benefit of seeing
the transfer function plot update in real time as you drag a root to a new
location.
- In a similar vain to 'MotionEdit' the 'MotionZoom'
parameter was added which allows you to specify a function to be executed
while the mouse is being moved during a display zoom operation (i.e. while
the zoom box is being dragged). (See
Mouse Motion Functions.)
The demo\gauss.m
function was updated to take show how to use this feature.
- Fixed a bug which caused the display to flicker while a plt window was
being initialized.
- Added more useful information to the "Calling sequence" section of the
documentation.
|
| 11Mar10 |
- The demo program demo\pub.m was expanded to
include an additional plot (bar chart).
- A bug was fixed that caused an error when null strings were specified
in the TraceID parameter.
- The cursor ID (cid) is now saved in the axis user data even for
subplot axes.
- Changes for compatibility with Matlab ver 2009b
|
| 25Feb10 |
- Added a cursor mode to show distance from cursor to the origin or to
the marked location, i.e. abs(x+iy). See Average, RMS, Slope, & Distance readout
section in
Cursoring.
- Improvements and bug fixes to the "plt hardcopy" function (from the
file menu or optionally in the menu box). Defaults are now saved in
pltHcpy.mat in the folder containing plt.m.
- Fixed a bug that caused the cursor to misbehave when cursoring non-monotonic
traces on the right hand axis.
- Fixed a bug that caused annotations added
with the "mark" feature to sometimes be associated with the incorrect axis.
- Fixed a bug that sometimes caused the grid lines to not initialize
properly until the first time you clicked on the figure window.
- Fixed some bugs related to grid lines on subplots (turning on/off via
the menu box tag or via the 'Ticks' options argument).
- Fixed bug in setting x-axis limits for right hand column of subplots
('Xlim' parameter).
- Improved cursor hiding feature (right click of y-axis label) to work
with subplots as well.
|
| 03Dec09 |
- Added a new example (pub.m) to the demo
folder to show how to optimize a plot for publication (instead of the
typical data exploration uses of plt). Also demonstrates the use of the
new property prefix characters described below.
- Previously there were two property prefix characters ('+',
'-') which refer to the left and right axis
properties. (Without the prefix characters plt assumes properties are to
be applied to the line objects.) Now three additional prefix characters
have been added ('<', '>',
'.') which refer the properties to the left
y-label, right y-label and x-label respectively. A property may be
preceded by more than one prefix character. For example
'>.-FontSize',14 will change the font size of the right
y-label, the x-label and the tick marks of the right hand axis. See
Axis properties
for details.
- Improved
demoplt.m so that it is easier to tell which demo is currently
running.
- Fixed a bug with the workspace plotter that occurred when the
workspace contained a large number of variables.
|
| 07Nov09 |
- Fixed a bug in plt's
Edit line selection from the color menu.
- Fixed a bug in
demoplt.m that would sometimes cause an error if you clicked in the
listbox window.
- Fixed a bug in the
plt('open') command for non Windows systems
- Significant enhancements to the
winplt.m demo program including the use of an application specific
help file as well as the use of a popup control to edit a vector (the
window kernel in this example).
- Added the
plt hideCur command. Equivalent to right-clicking on the y-axis
label. See Cursor commands.
- Added the plt('showTrace',e) command. For
details see the "DIStrace" section at
Trace properties.
- Documentation updates
|
| 25Oct09 |
- All the example routines in the
demo folder (except the scripts) were substantially rewritten for
improved clarity.
- The
winplt demo now demonstrates how to include two help tags in the
menu box (one for plotting help and the other for application specific
help). The files
winplt.chm and
winplt.pdf were added both to demonstrate this feature and to
provide more extensive information about the winplt demo program.
- The
demoplt.m program was rewritten to make it easier to run the
individual examples as well as auto-sequence thru them. A listbox was
added to allow easy viewing of the demo programs help text.
- In addition to pure strings to be evaluated, the plt callback
functions now allows you to specifying a function handle of the form
@func as well as the cell array form {@func, arg1, ar2, ... argn}
which lets you provide arguments to the callback function. This
applies to the plt parameters
moveCB,
axisCB,
TIDcback,
Xstring, and
Ystring as well as the callbacks for the auxiliary plt functions
edit,
pop, and
slider. Note that you can't take advantage of the string
substitution features of these callbacks when using the function handle
forms. This form is now used in many of the
Programming examples.
- Added the ability to modify properties of the left or right axis using
plt parameters. (See
+AxisProp, -AxisProp). This feature is demonstrated in the
demo\pltvbar.m example program.
- Enhanced the data editing features to include the ability to add or remove
data points from a trace. Also added a more natural way of entering the data
edit mode. See
data editing
for details.
- Added a new set command ('val') to the
plt('slider') pseudo object. See
Pseudo objects
- Added the plt('save',file) command. See
menu box for details.
- Fixed a bug that caused the right hand axis to be missing from getappdata(gcf,'axis'),
as well as a minor bug fix in the data editing mode and a bug fix relating
to a rare crash when saving a file from the menu bar.
|
| 11Aug09 |
- This is the first release which includes the full
.m source code. The
pcode or
dll versions are no longer needed.
- Added the
TraceMK parameter to allow you to include the line types in the
trace selection box. See the demo programs
demo\trigplt.m and
demo\subplt.m for examples of using this parameter. See
Trace properties
for a complete description of the TraceMX parameter.
- Added a new example to the demo folder (trigplt.m)
to demonstrate the use of the TraceMK parameter as well as the use of the
slider pseudo object.
- Added the
Fig parameter to allow plt to use an already opened figure window
instead of creating a new one. See
Labels and figure properties
for a complete description of the Fig parameter.
|
| 11May09 |
- Fixed a bug which caused plt to crash when called from a guide
application.
- Fixed a bug which sometimes caused the wrong foreground color in the
cursor edit boxes.
- Fixed a bug which sometimes caused the
Xlim or
Ylim parameter to be ignored.
- Improved the operation of the x-axis slider.
|
| 18Jan09 |
- The SubPlot parameter was added, a major
enhancement in plt's ability to place multiple plots in a figure window.
This is more flexible and far easier to use than the subplot method
introduced in version 19Aug08. The demo\subplt.m
and subplt8.m examples were rewritten to use
the new SubPlot parameter. The weight.m example
(which was also simplified by using the new parameter) also demonstrates a
trick for allowing multiple traces in each subplot.
See Axis properties
for a complete description of the SubPlot parameter.
- The
Xlim and
LabelX parameters now allow cell array inputs so that they may
specify values for the right hand column of subplots. The
LabelY parameter now allows a cell array input so that you can
specify labels for all the subplots as well as for the right hand axis of
the main plot, and
Ylim parameter can take a cell array input to specify limits for
both the left and right hand axis of the main plot.
- Added an easier way to remove cursor objects for production plots. See
the
-All and the
Nocursor items under the
Options parameter. (The last figure of the
circles12.m example demonstrates this usage.)
- right-clicking on the
Menu tag in the menu box will now toggle the line style used for of
all traces. (See Menu box)
- Added the
Lhandles, axis, and
cid cid figure application properties. (See
Calling sequence)
- Added the
'tag','MenuBox' property to the menu box axis to make it easier to find.
- Added a new parameter to the
plt('grid','init',... command (the erase mode). (See
Auxiliary plt functions).
Also the default erase mode for the grids
has changed from xor to normal. You may select the exclusive-or erase mode for the
grids by specifying a grid color containing a negative value
(e.g. 'GRIDc',[0 -.2 .4]).
The actual grid color used in this example is [0 .2 .4]).
- Added a special case to the
plt('cursor',cid,'set','activeLine',a,k) command for when a is zero. (See
Cursor commands)
- Added a special case for null trace ID strings. (See
Trace properties)
- Fixed bug that could cause a crash when selecting logarithmic y-axis.
- Fixed bug that caused a crash when using the color selection box to
edit plot colors.
|
| 03Oct08 |
- A zero is now allowed for the 3rd or 4th element of the
'position' parameter to indicated that the width or height of the
window should be chosen so that circles will look symmetric. However after
stretching the figure size with the mouse, the circle will then look like
an ellipse. If you want the circle to look symmetric even after the figure
window is resized, you should follow the plt command with the command
axis('equal').
- The example programs circle12.m and
editz.m were enhanced to demonstrate the feature mentioned
above.
- The TraceID box has been made wider in situations where it will not
run into the y-axis label.
- The file plt.dll is now compressed into a
zip file called pltdll.zip. This replaces a different type of compression
used in earlier releases that caused some errant virus protection programs
to flag this file as a virus. (For a description of this file, see the
installation instructions
or see the last item in the 12-Mar-08 release notes).
|
| 19Aug08 |
- Added two new example programs (demo\subplt.m
and subplt8.m) which show how to put several plots (each with its own cursor) in a
single figure window. The cursor move callback (moveCB)
and the axis callback (axisCB) are used to keep
the plots synchronized.
- The way that plt.chm is opened when you
click on the help tag has been improved.
Previously plt and any application calling plt would hang until the help
window was closed. Now you can continue to use plt while the help window
is open.
- The axis change (axisCB) callback is now
called (as it should) when you click on the Zout
or XY<-> tags in the menu box.
- Now when you right-click on the y-axis label, the menu box and all
cursor objects disappear. Right-clicking again causes the objects to
reappear. This is useful for making screen captures of the plots since
these objects are used for data exploration and are normally just a
distraction in a hardcopy. See
cursoring.
- The cursor('get','obj') call was added so
that one can easily get the handles of the cursor objects.
- The cursor('set','VISon') and
VISoff calls were improved so that they now
include control of the xstring and ystring objects, the x-cursor slider
and the cursor id string.
- A bug was fixed which caused plt to render some text improperly when
the default text interpreter was changed.
- A bug was fixed which sometimes caused the plt cursor to change shape
after the data editing feature was used.
|
| 13Jun08 |
- Added a new example program (demo\movbar.m)
which shows a simple way to start and stop a moving plot as well as
demonstrating the use of the xstring parameter.
- Added the ability to set properties of the main axis from within the
plt call. (Just add a "+" in front of the axis
property name. For example +FontSize will set
the axis font size property. For an example of how you might use this
feature, see the demo\pltvbar.m demo program.
- Added a cursor function to call the user defined cursor callbacks.
(See the
mainCur function and demo\movbar.m)
|
| 11Apr08 |
- Added the ability to link the left and right axes for panning and
zooming. This option is enabled by default. Use the new
AxisLink parameter to turn off linking by
default. Regardless of the status of the default you may toggle the axis
linking by clicking on the right-hand y-axis label. The divide sign
indicates the axes are unlinked (i.e. divided).
- Improved the demo\editz.m demo program,
which now displays phase as well as magnitude. It also demonstrates the
use of the new AxisLink parameter
- Previously although a plt figure could be saved (.fig), when the
figure was reopened the usual plt cursor controls would not be available.
In this release, plt save and
plt open items have been added to the file menu. Figures saved via
the plt save menu are saved with a .plt
extension (although like .fig files they are actually ordinary .mat
files). You can reopen the figure from a file browser dialog box by
selecting the plt open menu or by typing plt open
at the command prompt. Or at the command prompt you can type
plt open filename.
- Fixed a bug relating to metric prefixes on the y-axis. (The scaling
was improperly applied to the right hand axis where as the intention was
that it should be applied only to the left hand axis.)
- Fixed a bug relating to the modification and saving of color schemes
when a right hand axis was being used.
|
| 12Mar08 |
- Changed the method of rendering the right-hand axes to avoid the
problem when plotting overlapping or very dense data sets.
- Changes for compatibility with Matlab ver 7.5
- Previously data editing only worked on traces on the left axis. Now it
works on the right axis as well.
- Renamed the "COLORc" parameter to "COLORdef" for clarity.
- Eliminated the flicker and window movement you used to see when
starting plt.
- Fixed bug in plt('datestr') and other minor bug fixes.
- Added the plt.d file to this
release. This dll is only useful for compiled applications using the older
Matlab compiler (ver 2.2) that shipped with Matlab 6.1. Feel free to
delete this file if you are not using that compiler. (To use this file,
rename it to plt.dll)
|
| 02Dec07 |
- Many of the example programs where modified to improve clarity.
- A new example program (demo\dice.m) was
added that shows how to plot a function as it is as it is being computed
(i.e. the plot shows the function growing in length).
- A new feature was added to the x-axis label. Now when you left/right
click on this label the cursor x-axis position increments/decrements by
one data index. See the
cursoring
section for details.
- The x-axis slider now provides a more natural functionality. See the
cursoring
section for details.
- The cursor 'maincur' call now changes the
axis limits if necessary to keep the cursor in view.
- Modified the default trace color ordering. The most significant change
is that yellow is now used as the color of the 13th trace instead of the
7th. This means that yellow will be used less often (which is good since
yellow doesn't normally print well).
|
| 08Jul07 |
- Expanded the pltsq.m example to show how
all the traces can be cursored at once
- Several of the demo examples were edited to improve readability
- Removed the 'noshift' option that was added in the previous version.
(This proved to be misguided).
|
| 17May07 |
- The plt('datestr') function has been
modified slightly. For dates between 2000 and 2099, it now uses two digits
for the year instead of four. For example "12-Jan-2007" becomes
"12-Jan-07". This only applies to date string formats 0 and 1.
- A new method of drawing a zoom expansion box is provided ... hold
both mouse buttons down, and drag. (Actually this method
was previously available as an undocumented feature.)
- The
demo\tasplt.m example program was updated and simplified. It now
shows how to use a right hand or top axis to plot in more than one unit.
|
| 04Mar07 |
- The plt('slider') function has been
reworked to be easier to use. Several arguments were reordered with
improved defaults. See winplt.m and the new wfall.m for examples of how to
use the slider object.
- A new example program (demo\wfall.m) was
added to demonstrate waterfall plotting as well as extensive use of the
plt('slider') function.
- Now the callback function defined by 'moveCB'
is not called by events initiated from outside the figure window
containing the cursor. (For example a button push that moves the cursor in
another figure window would not activate the callback.) The reason for
this change was to prevent infinite loops when figure A modifies figure
B's cursor and visa versa. If you do want to enable the callback for
external events, insert an extra semicolon as the first character of the
moveCB callback string.
- Fixed bug causing the cursor to move to the wrong y-axis position for
traces on the right hand axis (only a problem when clicking in the axis
area). Also improved the ability to select the desired line when several
right hand traces are close together.
- Removed the 'NewLimit' parameter. (It had
the same function as 'axisCB'.)
|
| 28Jan07 |
- Removed the 99 trace limitation for cases where the TraceID box is not used.
- Added the 'moveCB' and 'axisCB'
parameters to plt as an alternate to the equivalent
plt('cursor',...) commands. The editz.m
example was modified to take advantage of this.
- Added a new example (demo\bounce.m) showing
how to use matrix arguments to create many line objects at once. Also shows
how to avoid plt's 99 trace limit by disabling the TraceIDs.
- Modified the
pltn example to allow displaying an unlimited number of traces.
- The colors specified by
TRACEc are now used in a cyclical fashion to allow specifying fewer
colors than traces.
- The
ENAcur and
DIStrace parameters are now extended if they
contain fewer elements than the number of traces.
- Added
TIDcolumn to the documentation (inadvertent
omission).
- Fixed a bug causing the "Mark" function to crash when TraceIDs are
disabled.
- Fixed a bug causing incorrect colors when choosing
COLORc,'default'.
|
| 23Jan07 |
- The 'Xstring' and 'Ystring'
parameters where added to provide additional textual information related
to the plotted data including customized cursor readouts. The
ptln.m, tasplt.m, editz.m examples now use this feature to good
advantage.
- The callback functions defined by 'TIDcback', 'Xstring', 'Ystring', 'moveCB',
and 'axisCB' can now contain strings within
strings defined using a single double quote character on either side of the string,
instead of the usual and more cumbersome method using two single quote
characters on each side.
- The 'pltquiv.m' example was updated to
demonstrate the use of the 'TIDcback'
parameter.
- Added a right click action to the XY↔
(XYrotate) tag in the menu box.
- Improved the avg and rms cursor readout so that NaN values are ignored.
- Added an additional plot to the circles12.m example program.
- Added the @CID tag to the
'moveCB' cursor callback function. The weight.m and
tasplt.m
examples now make use of this tag.
- The xy output from plt('cursor',cid,'get','position')
is now complex.
- Improved the look of the cursor peak/valley buttons and delta cursor
button by removing the rectangular dotted line around the string.
- Fixed bug in Y/X cursor value
- Added "HardCopy" as the fourth item of the File menu. (See
"print" under "Menu box").
- Many documentation improvements and updates
|
| 26Nov06 |
- Added the capability of assigning different line property values for
each trace
- A new parameter (TIDcolumn) was added to
allow you to arrange the trace IDs in multiple columns.
- Added a new demo program (circles12.m)
- Fixed a bug that prevented assigning a color to two different traces.
- Fixed a bug that caused incorrect positioning for the "Mark" function
(right hand axis).
- Added a default to the color property of the 'pop' and
'edit' objects ([1 1 .4]). Fixed the default color for the background of an open
'pop' menu to agree with the documentation.
- Added the Fresnel function to curves.m demo so that the symbolic
toolbox is not called.
- Modified the editz.m example so that the signal processing toolbox is
not required.
- Modified the winplt.m example program so that it can run without the
signal processing toolbox, however in that case it will not be able to
display all the window types.
|
| 04Sep06 |
- The way plt handles complex arguments was changed. Now including
w in the argument list (where
w is complex) is equivalent to including the two arguments "real(w),imag(w)".
In earlier revisions this was only true sometimes.
- The delta button is now highlighted whenever the delta cursor mode has
been selected.
- Left-clicking on the up/down arrow buttons moves to the next
peak/valley respectively as before. Also as before, clicking on the trace
resets the peak or valley finder so that the next click of the up/down
arrow brings you to the largest peak or smallest valley. Now, the
resetting of the peak or valley finder may also be accomplished by
right clicking on the up/down arrow button.
- Added files:
vbar.m - for displaying functions as vertical
bars
ebar.m - for displaying error bars
quiv.m - for displaying vector fields
(arrows)
- The functionality of quiv.m is similar to Matlab's quiver.m although
unlike quiver, quiv doesn't call plot. Therefore you must call plot or plt
with the data generated by quiv. In earlier versions of plt, the code in
quiv.m was inside plt.p, but I extracted it to a separate function to
provide more flexibility and a cleaner user interface.
- In the previous release, all the files were in the same folder. In
this release a new folder named "demo" was
added to contain all the example programs.
- A new program named demoplt.m was added (in
the demo folder) which runs all 12 example programs in succession. Every
time you press <Enter> demoplt will close the current example and start up
the next one.
- A new example program named pltvbar.m was
added to demonstrate the use of vbar.m and
ebar.m .
- The pltquiv.m example program was modified
to use the new quiv.m function.
|
| 17Aug06 |
- A new parameter ('Right') was added to
specify which traces should be on the right hand axis. In earlier plt
versions, only one trace was allowed on the right hand axis and it had to
be the last trace. Now you may place any or all of the traces on the right
axis. For example, in the argument list you could specify
'Right',[1 4:2:10 17]. Then plt would put trace numbers 1,4,6,8,10,
and 17 on the right axis and all other traces on the left axis. A slight
shading is used behind the Trace IDs associated with the right hand axis
so you can tell at a glance which traces belong to which axis. You can
also tell which axis a trace is on by the shape of its cursor (+/o for
left/right axis). As with earlier revisions, a right axis is created if
you include the 'LabelYR', or
'YlimR' parameters in the argument list. For clarity, you should
also include the 'Right' parameter in that
case, however if omitted, plt will put the last trace on the right axis.
- A new parameter ('DualCur') was added to
control a feature I now call a dual cursor. The usual cursor can only show
the value of one of the visible traces on the plot. With a dual cursor,
two such values can be shown at the same time - especially useful
when displaying two tightly linked values (for example, the magnitude and
phase of a complex quantity). In earlier versions of plt, a dual cursor
was provided, however it was forced to be on the last trace only which was
also forced to be on the right hand axis. (Moreover the dual cursor was
not optional. If you wanted to use a right hand axis, you automatically
got a dual cursor). As of this version, you specify a dual cursor for
the Nth trace by including 'DualCur',N in the
parameter list. This means that trace N will never be the active trace and
so its value will never appear in the usual y value readout location
(immediately to the right of the "y:" cursor label). However when you
cursor any other trace, a cursor will also appear on trace N at the same
x-axis location and the value of trace N will appear just to the right
of the value for the active trace. The dual cursor is easily distinguished from the usual cursor by
its shape - an asterisk if the dual cursored trace is on the left axis or
a square if it is on the right axis.
- A new parameter ('TIDcback',fcn) was added
to that one can define a callback function to be executed whenever the
user clicks on a Trace ID (i.e. a trace is enabled or disabled).
- The winplt example program was updated to
show comparisons between previous window time shapes as well as the
previous frequency shapes. (In the earlier revision, only the previous
frequency shapes were saved). This takes advantage of plt's new ability to
put multiple traces on the right hand axis.
|
| 25Jun06 |
- Added the Color menu to the menu bar
providing the ability to change any of the colors used by plt and
optionally to make those changes permanent.
- Enhanced the ability to edit strings created with the plt('edit')
command by using the left and right arrow keys.
- Enhanced the functionality of the winplt
example program.
- Changed the default alignment of plt('edit')
strings to 'center'. (Required to make the
increment/decrement feature to work.)
- Set foreground (text) color of x/y cursor readout objects to white or
black, whichever enhances contrast.
- Swapped execution order of MoveCB and
MoveCB2 callbacks. This appears to fix the problem of mouse button
up events getting lost (which was only a problem with Matlab ver 2006a or
later).
- Swapped viewing order of the menu and TraceID boxes. This fixed the
problem where the top menu box item was inaccessible.
- Fixed bug with '@VAL' substitution in plt('slider').
- Fixed bug in plt('slider') relating to the '%d'
format.
- Fixed bug relating to accidentally redefining the
exp() function
- Fixed bug relating to finding the help file.
|
| 11Apr06 |
- Added a new option plt('Options','Slider',... to
create a slider used for changing the cursor x position
- Added a dialog box (via a right click on the Mark
tag) that allows the editing of line and cursor properties
- Fixed delta cursors so they can work between different traces
- Extended plt('ftoa',...) to work with
vectors as well as scalars and added a delimiter option. The
plt('vtoa',...) function was also enhanced.
- Added the [TexOff] specifier in the
'title' option.
- The slider now replaces '@VAL' in the
slider callback with the current slider value.
- Biased 'metricp' call to favor no prefix
between .1 and 9999
- Changed order of ancillary cursor readout functions (now Avg, RMS,
Y/X)
- Added the
plt('rename',s) function
- Added the
plt('cursor','set','activeLine')
function
- Enhanced the
plt('cursor','Maincur') call by
allowing optional parameters
- Added the
plt('cursor','init' ...) call to the
documentation
- Added a new example program called
weight.m
|
| 26Jan06 |
- Changed default color order for better hardcopy results
- Fixed minor bug in the workspace plotter
|
| 17Dec05 |
- Added the Zout and
Print tags to the menu box
- Minor bug fixes and documentation updates
|
| 06Nov05 |
- Minor improvements to the pseudo slider object
|
| 18Sep05 |
- Added support for plotting vector arrows (quiver)
- Added the option to use cell arrays of strings in place of character
arrays in argument lists
- Extended the use of the 'AxisPos' parameter
(position of TraceID)
- The workspace plotter recognizes the new
TraceIDlen parameter
- Added plt close as an alternative to
plt closefigs
- Added a new programming example (pltquiv.m)
to demonstrate quiver and several other plt features
- Minor bug fixes and documentation updates
|
| 11May05 |
- Added the auxiliary function plt('edit') for
creating edit text objects
- Added the auxiliary function plt('pop') for
creating popup text objects
- Added a new programming example (curves.m)
to demonstrate the use of the plt('edit') and plt('pop')
commands.
- Fixed a bug in the data editing capability that caused it to work only
with large fonts selected in windows.
|
| 29Mar05 |
- Two new programming examples have been added (tasplt.m
and winplt.m).
- Added the slider component plt('slider',...).
See winplt.m for an example of its use.
- Added auxiliary functions plt('ftoa'), plt('vtoa'), plt('closefigs'), plt('help'),
and plt('version').
- The workspace plotter now can plot vectors contained inside
structures.
- The default figure window position was changed so it doesn't
overlap the start menu.
- Minor bug fixes and documentation updates
|
| 03Aug04 |
- A new programming example (editz.m)
has been included to demonstrate the utility of the data editing capability.
|
| 14Jul04 |
- Eliminated the commercial version of plt and integrated the
enhanced features into the free version. The public domain
version of plt now supports delta cursors and up to 99 traces
(an increase from five traces).
- The workspace plotter has been added, which allows you to interactively
select the vectors in your Matlab workspace that you want to plot.
This is activated by calling plt with no arguments. A new sample
script (pltvar.m) was added to demonstrate this feature. It simply
creates several vectors in the workspace and calls plt with no
arguments.
- The cursor ID tag is now always to the left of the cursor y label.
Changing the cursor ID tag to Avg or
RMS is now accomplished
by clicking on the cursor ID tag itself to rotate among the options.
Also an additional option (Y/X) has been added to this selection,
which displays the ratio of the y and x cursor values. (In delta
cursor mode, this can be used to display the slope of a trace segment.)
- Data editing has been added. The data editing mode is
entered by right-clicking on the x or y cursor edit boxes. See the
documentation for additional details.
|
| 24May04 |
- Modified the plt5 and
pltn examples so they didn't use
interp
(interp requires the signal processing toolbox)
- Renamed PLT.p to
plt.p in the zip file (unix is case sensitive)
- Added the release notes section to the documentation
|
| 16May04 |
- Added a more obvious way to restore zoomed axis limits
- Fixed minor bug with the Styles argument
- Improved the Options argument and made it less cryptic
- Supply documentation as html in addition to chm
- Provided an easy way to use Matlab's default colors
- Improved the organization of the help file
|
| 09May04 |
- First public release of plt
|