SDT-base Contents   Functions      PDF Index |
Purpose
Pole line plots and other plot enhancement utilities.
Syntax
ii_plp(po) ii_plp(po,color,Opt)
Description
Generation of zoomable vertical lines with clickable information.
ii_plp(po) will plot vertical dotted lines indicating the pole frequencies of complex poles in po and dashed lines at the frequencies of real poles. The poles po can be specified in any of the 3 accepted formats (see ii_pof).
When you click on these lines, a text object indicating the properties of the current pole is created. You can delete this object by clicking on it. When the lines are part of iiplot axes, clicking on a pole line changes the current pole and updates any axis that is associated to a pole number (local Nyquist, residue and error plots, see iiplot).
When displaying a curve in iiplot, one can generate automatic calls to ii_plp. Curve.ID field can be used to automatically generate several type of lines in iiplot over the curve. It is a cell array with as many cell as line sets. Each cell is a data structure defining the line set. Following fields can be defined:
When using line sequencing, it is preferable to set the property using the line object tag now. Thus
R1=sdsetprop(R1,'PlotInfo.ua.axProp', ... '@now',{'LineStyle','--','color','k','marker','none'});
The example below shows main display possibilities :
XF=demosdt('curve phase_circle'); XF.ID={struct('po',[2.2;4.6],... % Thick vertical lines 'LineProp',{{'LineStyle','-','Linewidth',2}}); struct('marker','horizontal','po',[-0.4;0.2],... % Red horizontal lines 'LineProp',{{'LineStyle','-','color','r'}}); struct('marker','a+bx','po',[-0.4 0.2;0.6 -0.3],... % Dashed green affine lines 'LineProp',{{'LineStyle','-.','color','g'}}); struct('marker','xy','po',... % Dotted blue zigzag curve struct('X',{{(0:6)'}},'Y',[-1;0;1;0;-1;0;1]),... 'LineProp',{{'color','b'}}); struct('marker','harmh','po',0.4); % Horizontal harmonic lines struct('marker','harmv','po',0.8); % Vertical harmonic lines struct('marker','band','po',[1 2;5 6])}; % Vertical grey bands iicom('curveinit','Temp',XF);iicom('Sub 1 1');
Dynamic multi-line legend generation used by iiplot and feplot.
ii_plp('legend',ga,prop) with properties a cell array detailed with in comgui def.Legend (typical legend generation associated with FEM solutions).
ii_plp('legend -corner .01 .01 -reset ',ga,ua,StringCell,legProp) is an older format found in some calls, with ga handle to the axis where the axes is to be placed, see gca. ua if not empty provides additional properties .legProp, .Corner.
Generate subsampled markers.
ii_plp('spy',k); Generates a spy plot with color coding associated with the non-zero element values of matrix k.
To perform block-wise spy plots of a single matrix, it is possible to provide matrix k as a structure with fields
SDT implements a general mechanism for enhancing the basic dynamic tick label generation of MATLAB. This allows placement of strings are proper locations on an axis. ii_plp('TickFcn') list predefined ticks.
This functionality is not fully documented and you are encouraged to look-up the source code. SDT generated plots expect the following fields in the axis userdata ua.TickInfo for data and ua.TickFcn for the callback. A sample usage would be
C1=struct('X',{{num2cell(2:4)' 2}},'Xlab',{{'x','y'}}, ... 'Y',(1:3)') figure(1);plot(1:3,C1.Y);ii_plp('tickXCell',C1,gca); C1=ii_plp('tickXCell',C1); %Defines the PlotInfo iiplot(C1);
FEM oriented color maps.
Predefined maps can be directly called and will apply to the current figure. feplot assignment can be performed by nesting the ColorMap call in a call to fecom. fecom('colormapjet(5)') thus generates a map with 5 colors and grey level bands on the current feplot figure. This is called using
Sample colormaps are featured in the example below,
% Example of colormaps provided by ii_plp figure(1);h=mesh(peaks(300)); set(h,'edgecolor','none','facecolor','interp'); ii_plp('ColormapBandjet(5)') ii_plp('ColormapFireIce 20') ii_plp('ColormapSamcef')
An exhaustive list can be obtained using ii_plp('ColorMap') with no argument. This will open the tag list for colormap thus showing the currently available maps.
In a more general context, one can define in any MATLAB figure a custom colormap with custom and unevenly spread thresholds by providing a structure in second argument with fields
% Custom colormap setting using ii_plp demosdt('demoubeam') cf=feplot; fecom(cf,'colordataa') fecom(cf,'colorscale Unit 1e3'); fecom(cf,'colorbaron') ii_plp('colormap',struct('map',[1 1 1;jet(7)], ... 'cval',[0:4:10 11:2:21],'Band',0,'refine',10,'bSplit',2))
Callbacks for comgui objSet properties of colorbar. Accepted options are
figure(1);clf;mesh(peaks); ii_plp('cbNo',struct('String','Z', ... 'map','ii_plp(''ColormapBandjet(5)'')', ... 'cf',1));
See also