Undocumented Matlab
  • SERVICES
    • Consulting
    • Development
    • Training
    • Gallery
    • Testimonials
  • PRODUCTS
    • IQML: IQFeed-Matlab connector
    • IB-Matlab: InteractiveBrokers-Matlab connector
    • EODML: EODHistoricalData-Matlab connector
    • Webinars
  • BOOKS
    • Secrets of MATLAB-Java Programming
    • Accelerating MATLAB Performance
    • MATLAB Succinctly
  • ARTICLES
  • ABOUT
    • Policies
  • CONTACT
  • SERVICES
    • Consulting
    • Development
    • Training
    • Gallery
    • Testimonials
  • PRODUCTS
    • IQML: IQFeed-Matlab connector
    • IB-Matlab: InteractiveBrokers-Matlab connector
    • EODML: EODHistoricalData-Matlab connector
    • Webinars
  • BOOKS
    • Secrets of MATLAB-Java Programming
    • Accelerating MATLAB Performance
    • MATLAB Succinctly
  • ARTICLES
  • ABOUT
    • Policies
  • CONTACT

Undocumented cursorbar object

September 29, 2010 40 Comments

Every now and then, I stumble on a Matlab feature that looks interesting and potentially useful and has existed for many previous Matlab releases, yet remains undocumented and unsupported. Today I present one such object, Matlab’s graphics.cursorbar.
The graphics.cursorbar object answers a very basic need that is often encountered in graph exploration: displaying data values together with horizontal/vertical cross-hairs, similarly to ginput.
While Matlab has provided the data-cursor mode for a long time, the cross-hair feature is still missing as of R2010b. Many CSSM newsgroup readers have asked about this missing feature. Some recent examples: here, here, and here.

DataMatrix

To answer this need I have created the DataMatrix utility, which is available on the Matlab File Exchange:

DataMatrix: customizable data tooltip & cross-hairs
DataMatrix: customizable data tooltip & cross-hairs

DataMatrix displays matlab’s standard data-cursor tooltip together with dotted cross-hairs, both of which move with the mouse pointer. DataMatrix is actually based mostly on fully-documented stuff: the undocumented aspects are secondary to the main program flow and mostly just ensure old releases compatibility and correct behavior in the presence of some figure modes.

graphics.cursorbar

When I created DataMatrix in 2007, I had no idea that graphics.cursorbar already existed. graphics.cursorbar is an internal Matlab object, that is undocumented and unsupported. It has several advantages over DataMatrix, being more customizable in the cross-hairs and data marker, although not enabling to customize the tooltip text nor to present both cross-hairs (only horizontal/vertical, not both). It is one of the earliest examples of Matlab’s old class system (schema-based).
We initialize a graphics.cursorbar object by supplying an axes (not very useful) or plot-line handle (more useful). The cursorbar handle can be customized using properties such as BottomMarker, TopMarker, CursorLineColor, CursorLineStyle, CursorLineWidth, TargetMarkerSize, TargetMarkerStyle, ShowText, Orientation, Position (Position is a hidden property) etc., as well as the regular HG properties (UserData, Visibility, Parent etc.).
Once the cursor-bar is created, it can be dragged and moved via the mouse cursor, as the following code snippet and animated gif show:

t=0:.01:7; hp=plot(t,sin(t));
hCursorbar = graphics.cursorbar(hp); drawnow
hCursorbar.CursorLineColor = [.9,.3,.6]; % default=[0,0,0]='k'
hCursorbar.CursorLineStyle = '-.';       % default='-'
hCursorbar.CursorLineWidth = 2.5;        % default=1
hCursorbar.Orientation = 'vertical';     % =default
hCursorbar.TargetMarkerSize = 12;        % default=8
hCursorbar.TargetMarkerStyle = 'o';      % default='s' (square)

t=0:.01:7; hp=plot(t,sin(t)); hCursorbar = graphics.cursorbar(hp); drawnow hCursorbar.CursorLineColor = [.9,.3,.6]; % default=[0,0,0]='k' hCursorbar.CursorLineStyle = '-.'; % default='-' hCursorbar.CursorLineWidth = 2.5; % default=1 hCursorbar.Orientation = 'vertical'; % =default hCursorbar.TargetMarkerSize = 12; % default=8 hCursorbar.TargetMarkerStyle = 'o'; % default='s' (square)

Matlab's internal cursorbar object
Matlab's internal cursorbar object

Comments within the internal code (%matlabroot%\toolbox\matlab\graphics\@graphics\@cursorbar\*.m) suggest that graphics.cursorbar has been around since 2003 at least, although I have not checked such old releases. The presented tooltip resembles one of the old data tips, not one of the modern ones. In addition, as far as I can tell, graphics.cursorbar is not used within the Matlab code corpus. For these reasons it would not surprise me at all to find that MathWorks will remove this feature in some near future release. Until then – have fun using it!
Can you find a good use for graphics.cursorbar? if so, please let us know by posting a comment below.
Note: graphics.cursorbar was removed in Matlab release R2014b (8.4), as part of the transition to the new graphics system (HG2). Perhaps one day a replacement functionality will be added. Until then, we can use Michelle Hirsch’s dualcursor utility, or Yaroslav Don’s direct replacement cursorbar (see comment below), which apparently has the official approval of MathWorks and was selected as File Exchange Pick of the Week.

Related posts:

  1. getundoc – get undocumented object properties – getundoc is a very simple utility that displays the hidden (undocumented) properties of a specified handle object....
  2. Handle object as default class property value – MCOS property initialization has a documented but unexpected behavior that could cause many bugs in user code. ...
  3. Accessing private object properties – Private properties of Matlab class objects can be accessed (read and write) using some undocumented techniques. ...
  4. General-use object copy – Matlab's dual internal serialization/deserialization functions can be used to create duplicates of any object. ...
  5. Types of undocumented Matlab aspects – This article lists the different types of undocumented/unsupported/hidden aspects in Matlab...
  6. FindJObj – find a Matlab component's underlying Java object – The FindJObj utility can be used to access and display the internal components of Matlab controls and containers. This article explains its uses and inner mechanism....
Handle graphics Hidden property Internal component Pure Matlab schema.class Undocumented function
Print Print
« Previous
Next »
40 Responses
  1. Yunde Shi September 16, 2011 at 13:03 Reply

    Thanks a lot for the helpful tutorial on the cursorbar. I’m wondering how I could set the displayed text such as the “y: -0.7568” in this example. Can I also display the x-coordinate?

    • Yair Altman November 10, 2011 at 10:31 Reply

      @Yunde – you can change the graphics.cursorbar object’s UpdateFcn property to a custom text-update function handle, as described here.

      Also see this related article: https://undocumentedmatlab.com/blog/controlling-plot-data-tips/

  2. Fatnassi November 8, 2011 at 17:43 Reply

    Really more useful. But for the spectral analysis, it will be fantastic to have two horizontal (dual) graphics.cursorbar at the same time in the same plot with displaying (x,y) values for each one

    • Yair Altman November 10, 2011 at 10:22 Reply

      @Fantassi – you can easily create multiple graphics.cursorbar objects by simply repeating the creation command and assigning two separate handles:

      t=0:.01:7; hp=plot(t,sin(t));
      hCursorbar1 = graphics.cursorbar(hp);
      hCursorbar2 = graphics.cursorbar(hp);
      % now customize the appearance of hCursorbar1 and hCursorbar2

      t=0:.01:7; hp=plot(t,sin(t)); hCursorbar1 = graphics.cursorbar(hp); hCursorbar2 = graphics.cursorbar(hp); % now customize the appearance of hCursorbar1 and hCursorbar2

      • Fatnassi November 12, 2011 at 17:00

        Hello Mr Altmann.
        Thank you very much for your reply.
        In the spite of the fact that I’m just a very slowly starter with matlab, I know that. That I’m looking for, is to obtain 2 vertical cursorbars that displays x-values or (x,y)-values not only y-values, and additionnaly 2 horizontal cursorbars that displays y-values or (x,y)-values not only x-values.
        Thank you again

      • Yair Altman November 14, 2011 at 00:33

        @Fatnassi – see my answer above to @Yunde. For horizontal cursorbars use the Orientation property. If you still need my help in customizing your application, please contact me via email (see the link at the top-right of this webpage) – I would be happy to help you for a compensation of my time and expertise.

  3. JP January 29, 2012 at 09:08 Reply

    Yair,
    Thanks, this is incredibly helpful. Is there a way to link multiple cursorbars, on the same axes object or a different axes object, so that when you move one cursor bar, the linked ones follow the same movement?

    If not, is there a way to programmatically move the position of the cursorbar so after one moves, you would be able to move others to the same x axis location (for a vertical orientation)?

    Thanks!

    • Yair Altman January 29, 2012 at 14:09 Reply

      @JP – use the linkprop function

  4. reivajtux January 7, 2013 at 02:40 Reply

    Thank you! extremely useful information. I’ve been using this script but I’m having some troubles customizing the marker color. For some reason, the edit plot feature shows that the cursorbar has a TargetMarkerFaceColor and a TargetMarkerEdgeColor option, but it seems they are not working for me and I can’t change the marker color… any suggestion?

    • Yair Altman January 7, 2013 at 03:22 Reply

      @reivajtux – You are correct, it is due to an internal Matlab bug. Here is the workaround, based on the cursorbar’s hidden property TargetMarkerHandle:

      hCursorbar.TargetMarkerHandle.MarkerEdgeColor = 'r';
      hCursorbar.TargetMarkerHandle.MarkerFaceColor = 'g';

      hCursorbar.TargetMarkerHandle.MarkerEdgeColor = 'r'; hCursorbar.TargetMarkerHandle.MarkerFaceColor = 'g';

      You can also use TargetMarkerHandle to update other aspects of the target marker, such as LineStyle, LineWidth, LineSmoothing, or Visible.

  5. J April 1, 2013 at 11:17 Reply

    I’ve been playing around with the cursorbar today and it is surprisingly functional. I have spectra plots with multiple axis and plots on each axis. This does work very well for multiple line series on a given axis, you just have to use an array of line series handles to create the cursorbar. It will then show the y-values for each plot, pretty neat.

    It doesn’t really seem to work across multiple axes, it does show all the values, but the y-value lables are postioned to the primary y-axis only. But there may be some way to cheat with the input data so it does work.

    • Malcolm Lidierth April 3, 2013 at 06:01 Reply

      @J
      This might be of some help across multiple axes.

  6. jinu May 6, 2013 at 17:58 Reply

    Very cool…is there any way to link this to multiple figures? i.e. if I move the cursorbar in one figure..it will update it in another. Also kind seperate…is there a way to tile figures using a script. I can do it manually by using the “Tile” button in the upper right hand corner of the figure window. Was hoping to do this with a script. Very cool site…looking forward to reading the book

    • Yair Altman May 28, 2013 at 17:07 Reply

      @Jinu – you could probably use handle listeners to link the cursor-bar to another figure.

  7. dan September 22, 2013 at 15:16 Reply

    Thanks for sharing Yair, this seems to be quite useful.
    I am implementing this in a GUI to allow the user to graphically select a value on the y-axis of a data plot. I basically invoke the cursorbar in a callback of a pushbutton and several cursorbars can be added to the plot. I am using it instead of ginput, because the plot is located in an axes environment (where i can’t change the pointer property), and it is very neat that you can use purely horizontal or vertical bars which have the exact extension of the axes.

    I just have a small problem, maybe somebody can help me out. When adding a second, third.. cursorbar: The cursorbar is always drawn at the location of the CurrentPoint value of the axes, which is usually the exact place where already the previous cursorbar is parked. I prefer to have them occur at a different position, but if i give a position as input argument it will be overwritten by the CurrentPoint value. Does somebody have an idea how to handle this?

    • dan September 25, 2013 at 06:39 Reply

      found a rather simple solution to my problem… i can just reset the ‘CurrentPoint’ of the parent figure each time before adding a cursorbar.

      Anyways, now it works quite nicely.. so once again: Great tool, thanks!

  8. nikhil December 15, 2013 at 13:13 Reply

    Hello Yair Altman,

    Thank you for the great solution (I have been looking for this from the past few weeks. Finally…)

    I have a couple of questions:
    1. I did update (as you explained in one of your comments) the position of the cursorbar using the update function and display in the text box (as in the animated gif) is not changing the position when i move the cursorbar as expected.
    2. Is there a possibility even to show the position of ‘X’ data in the small text

    By the way an excellent website 🙂

    • Yair Altman December 15, 2013 at 15:16 Reply

      @Nikhil – I don’t have an immediate answer but I’m pretty sure that it can be done by either modifying the Matlab code or using some hooks from the graphics.cursorbar object (hCursorbar). Don’t be lazy, dig in to discover it yourself – this makes it much more fun. Then come back here and report what you found.

    • nikhil December 24, 2013 at 13:05 Reply

      Hello Yair Altman,

      Thank you for the support & suggestion. It’s really fun searching for the solutions from the hooks you suggested. I found the solution by including the code:

      set(hCursorbar1.DisplayHandle,'Position',pos,'string',StringText)

      set(hCursorbar1.DisplayHandle,'Position',pos,'string',StringText)

      in the UpdateFcn property callback.
      pos is the current position of the cursorbar
      StringText: pos(1:2)

      • nikhil December 24, 2013 at 13:40

        It’s described in defaultUpdateFcn.

  9. nicolas April 25, 2014 at 02:26 Reply

    Hello Yair Altman,
    Thanks for sharing.
    I am currently trying to use the cursorbar on a spectrogram figure (with the spectrogram function) but I keep getting the following error : “Target must be a single axes handle, or an array of line handles”.
    I guess it is because the spectrogram plot is in 3D, but I cannot find any solution (I’m a beginner in matlab).
    If you have any idea, I would be very grateful.
    Thanks in advance.
    Best
    -Nicolas-

    • Yair Altman April 25, 2014 at 03:44 Reply

      @Nicolas – I don’t currently have the Signal Processing Toolbox, so I’m afraid I can’t help you with this, you’ll need to debug it by yourself…

    • nicolas April 25, 2014 at 05:28 Reply

      Ok, I’ll try to find a solution.
      Just for you to know, I also tried to display the cursorbar on a spectrogram drawn with the PlotSpectrogram function, and I get exactly the same error.

  10. nicolas May 2, 2014 at 07:23 Reply

    Dear Yair,
    Is there a way to also get the Y value when using the horizontal mode?
    Thanks
    -nicolas-

    • Yair Altman May 4, 2014 at 14:40 Reply

      See Nikhil above

  11. Christoph September 9, 2014 at 01:05 Reply

    Dear Yair,

    I tried to link two cursorbars with the linkprop-function (as you suggested before) via the (hidden) ‘Position’-Property. As the ‘Position’ contains the x- as well as the y-Position some malfunctions occur (both cursorbars have the same x AND y-Positions) and the textbox of one of the bars doesn’t update anymore. I guess just the x-Positions should be linked. Is there a way to do so / what am I doing wrong?

    Thanks in advance
    Christoph

    • Yair Altman September 9, 2014 at 02:47 Reply

      You cannot link only part of a property value. Instead, try using a property listener to set a custom callback function, that will update only the relevant part.

    • Christoph September 11, 2014 at 11:18 Reply

      I failed to follow your advice – I really tried. Let’s say we have this:

      t=0:0.01:(2*pi);
      ax = plotyy(t,sin(t),t,2*cos(t));

      t=0:0.01:(2*pi); ax = plotyy(t,sin(t),t,2*cos(t));

      How could I get one (or two superposed) cursorbar(s) into this figure showing the datapoints of both lines. Your help would be great here. Thank You 🙂

      • Yair Altman September 11, 2014 at 14:34

        @Christoph – you can modify the code of graphics.cursorbar (%matlabroot%/toolbox/matlab/graphics/@graphics/@cursorbar/cursorbar.m) to add support for plotyy. It shouldn’t be too difficult – the source code only has ~430 lines of code and plenty of comments.

    • Christoph September 30, 2014 at 06:00 Reply

      Hi Yair,

      thank you for your suggestions. I do not have write permissions for these files and cannot edit them. Do you have any other idea, how to solve my problem?
      Furthermore is it possible to synchronize two cursorbars within different subplots?

      Christoph

      • Yair Altman September 30, 2014 at 06:05

        You can place a modified copy of the file(s) in your own user path, where it takes precedence over the built-in path. To synchronize different cursorbars, you can use the linkprop function.

    • Christoph October 1, 2014 at 02:04 Reply

      Hi Yair,

      nevermind – I finally did it.
      As I mentioned before, linkprop does not show the desired behaviour.
      I added a listener via “handle.listener” function on the position property to call the update-function for all involved cursorbar handles and it works fine. A bit slow in case of many cursorbars but it is OK.

      So there was no need to copy or edit any matlab-files.

      Thank you
      Christoph

  12. Dan October 21, 2014 at 04:33 Reply

    Hello Yair, i’ve been using this feature for a while now, thanks again for pointing it out.
    I think this feature has eventually been removed with the 2014b release (At least i can not find it anymore). Do you know anything that is on par, as a replacement?

    • Yair Altman October 21, 2014 at 08:27 Reply

      @Dan – try Michelle Hirsch’s dualcursor utility. She’s the Matlab product manager at MathWorks, by the way.

    • Dan October 21, 2014 at 09:15 Reply

      Thanks, I will check it out!

  13. Yaroslav January 22, 2015 at 13:52 Reply

    @Yair,

    I have also encountered the same issue as @Dan — Being a very useful feature, some of my files rely heavily on graphics.cursorbar. Unfortunately, after TMW had decided to remove it, my programs ceased to work at all. Therefore, I needed a fast, reliable and indistinguishable solution (the last requirement is important: I didn’t want to modify large chunks of code).

    Simiarly to @Dan, I also couldn’t find an adequate solution; thus, I decided to take the mission on myself. Taking all the old files in +graphics/@cursorbar, I modified them so that they work with HG2. Mainly, I merged schema and cursorbar to a single file built in Matlab’s new class system, and made a few minor changes to all other files. Since it is basically the same ol’ code, it works like a charm; almost no changes were required to my programs, and I feel it is even faster than the old cursorbar.

    Now I have a dilemma: I want to publish my solution on the File Exchange, but most of the code and the entire logical structure is still TMW’s. Since I wish to avoid plagiarism and copyright issues, it creates quite a nuisance. How do you suggest to proceed?

    • Michelle Hirsch February 13, 2015 at 11:38 Reply

      With a gigantic thanks to Yaroslav, we now have an updated for R2014b version of cursorbar posted on the File Exchange: cursorbar. I believe it’s a straight drop-in replacement that should support code written against the undocumented cursorbar from previous releases.

  14. micpro September 19, 2016 at 15:20 Reply

    Hi,
    Thanks for sharing,
    How can I change default position of cursuor? I need to 2 cursor bars and I want to see them seperately,
    thanks

    • Yaroslav November 2, 2016 at 22:38 Reply

      Use the Location or the Position properties. For example,

      % set the plot
      t     = 0:.01:7; 
      hPlot = plot(t,sin(t));
      % draw the cursorbars
      if verLessThan('matlab','8.4.0') % HG1 version
          hCursorbar1 = graphics.cursorbar(hPlot);
          hCursorbar2 = graphics.cursorbar(hPlot);
      else % HG2 version, latest version on FEX
          hCursorbar1 = cursorbar(hPlot);
          hCursorbar2 = cursorbar(hPlot);
      end
      % now, set the locations
      hCursorbar1.Location = 2; 
      hCursorbar2.Location = 4;

      % set the plot t = 0:.01:7; hPlot = plot(t,sin(t)); % draw the cursorbars if verLessThan('matlab','8.4.0') % HG1 version hCursorbar1 = graphics.cursorbar(hPlot); hCursorbar2 = graphics.cursorbar(hPlot); else % HG2 version, latest version on FEX hCursorbar1 = cursorbar(hPlot); hCursorbar2 = cursorbar(hPlot); end % now, set the locations hCursorbar1.Location = 2; hCursorbar2.Location = 4;

  15. MacDonald Smith November 2, 2016 at 18:40 Reply

    Yair,

    I was trolling around on this section a few weeks ago and I thought I saw a link to the File Exchange for a function that plotted multiple cursor bars on a Magnitude/Power Spectrum that indicated a fundamental plus several harmonics. I cannot find this link anymore. Do you recall where this link might be or what the name of the function might be?

Leave a Reply
HTML tags such as <b> or <i> are accepted.
Wrap code fragments inside <pre lang="matlab"> tags, like this:
<pre lang="matlab">
a = magic(3);
disp(sum(a))
</pre>
I reserve the right to edit/delete comments (read the site policies).
Not all comments will be answered. You can always email me (altmany at gmail) for private consulting.

Click here to cancel reply.

Useful links
  •  Email Yair Altman
  •  Subscribe to new posts (feed)
  •  Subscribe to new posts (reader)
  •  Subscribe to comments (feed)
 
Accelerating MATLAB Performance book
Recent Posts

Speeding-up builtin Matlab functions – part 3

Improving graphics interactivity

Interesting Matlab puzzle – analysis

Interesting Matlab puzzle

Undocumented plot marker types

Matlab toolstrip – part 9 (popup figures)

Matlab toolstrip – part 8 (galleries)

Matlab toolstrip – part 7 (selection controls)

Matlab toolstrip – part 6 (complex controls)

Matlab toolstrip – part 5 (icons)

Matlab toolstrip – part 4 (control customization)

Reverting axes controls in figure toolbar

Matlab toolstrip – part 3 (basic customization)

Matlab toolstrip – part 2 (ToolGroup App)

Matlab toolstrip – part 1

Categories
  • Desktop (45)
  • Figure window (59)
  • Guest bloggers (65)
  • GUI (165)
  • Handle graphics (84)
  • Hidden property (42)
  • Icons (15)
  • Java (174)
  • Listeners (22)
  • Memory (16)
  • Mex (13)
  • Presumed future risk (394)
    • High risk of breaking in future versions (100)
    • Low risk of breaking in future versions (160)
    • Medium risk of breaking in future versions (136)
  • Public presentation (6)
  • Semi-documented feature (10)
  • Semi-documented function (35)
  • Stock Matlab function (140)
  • Toolbox (10)
  • UI controls (52)
  • Uncategorized (13)
  • Undocumented feature (217)
  • Undocumented function (37)
Tags
ActiveX (6) AppDesigner (9) Callbacks (31) Compiler (10) Desktop (38) Donn Shull (10) Editor (8) Figure (19) FindJObj (27) GUI (141) GUIDE (8) Handle graphics (78) HG2 (34) Hidden property (51) HTML (26) Icons (9) Internal component (39) Java (178) JavaFrame (20) JIDE (19) JMI (8) Listener (17) Malcolm Lidierth (8) MCOS (11) Memory (13) Menubar (9) Mex (14) Optical illusion (11) Performance (78) Profiler (9) Pure Matlab (187) schema (7) schema.class (8) schema.prop (18) Semi-documented feature (6) Semi-documented function (33) Toolbar (14) Toolstrip (13) uicontrol (37) uifigure (8) UIInspect (12) uitools (20) Undocumented feature (187) Undocumented function (37) Undocumented property (20)
Recent Comments
  • Nicholas (6 days 14 hours ago): Hi Yair, Thanks for the reply. I am on Windows 10. I also forgot to mention that this all works wonderfully out of the editor. It only fails once compiled. So, yes, I have tried a...
  • Nicholas (6 days 14 hours ago): Hi Yair, Thanks for the reply. I am on Windows 10. I also forgot to mention that this all works wonderfully out of the editor. It only fails once compiled. So, yes, I have tried a...
  • Yair Altman (6 days 21 hours ago): Nicholas – yes, I used it in a compiled Windows app using R2022b (no update). You didn’t specify the Matlab code location that threw the error so I can’t help...
  • Nicholas (7 days 17 hours ago): Hi Yair, Have you attempted your displayWebPage utility (or the LightweightHelpPanel in general) within a compiled application? It appears to fail in apps derived from both R2022b...
  • João Neves (10 days 22 hours ago): I am on matlab 2021a, this still works: url = struct(struct(struct(struct(hF ig).Controller).PlatformHost). CEF).URL; but the html document is empty. Is there still a way to do...
  • Yair Altman (13 days 20 hours ago): Perhaps the class() function could assist you. Or maybe just wrap different access methods in a try-catch so that if one method fails you could access the data using another...
  • Jeroen Boschma (13 days 23 hours ago): Never mind, the new UI components have an HTML panel available. Works for me…
  • Alexandre (14 days 0 hours ago): Hi, Is there a way to test if data dictionnatry entry are signal, simulink parameters, variables … I need to access their value, but the access method depends on the data...
  • Nicholas (14 days 14 hours ago): In case anyone is looking for more info on the toolbar: I ran into some problems creating a toolbar with the lightweight panel. Previously, the Browser Panel had an addToolbar...
  • Jeroen Boschma (17 days 21 hours ago): I do not seem to get the scrollbars (horizontal…) working in Matlab 2020b. Snippets of init-code (all based on Yair’s snippets on this site) handles.text_explorer...
  • Yair Altman (45 days 23 hours ago): m_map is a mapping tool, not even created by MathWorks and not part of the basic Matlab system. I have no idea why you think that the customizations to the builtin bar function...
  • chengji chen (46 days 6 hours ago): Hi, I have tried the method, but it didn’t work. I plot figure by m_map toolbox, the xticklabel will add to the yticklabel at the left-down corner, so I want to move down...
  • Yair Altman (53 days 23 hours ago): @Alexander – this is correct. Matlab stopped including sqlite4java in R2021b (it was still included in 21a). You can download the open-source sqlite4java project from...
  • Alexander Eder (59 days 18 hours ago): Unfortunately Matlab stopped shipping sqlite4java starting with R2021(b?)
  • K (66 days 5 hours ago): Is there a way to programmatically manage which figure gets placed where? Let’s say I have 5 figures docked, and I split it into 2 x 1, I want to place 3 specific figures on the...
Contact us
Captcha image for Custom Contact Forms plugin. You must type the numbers shown in the image
Undocumented Matlab © 2009 - Yair Altman
This website and Octahedron Ltd. are not affiliated with The MathWorks Inc.; MATLAB® is a registered trademark of The MathWorks Inc.
Scroll to top