Single-plot cursor tree -- how to programmatically collapse it?

How do you programmatically collapse a single-plot cursor tree?
I am saving and restoring waveforms to a waveform graph. Sometimes loading the waveform causes the cursor tree to display collapsed (Example 1), which is desired so the coordinates for both cursors are visible in the legend. However, some waveforms cause the cursor tree to display expanded (Example 2), hiding the lower cursor. I can't even figure out how to collapse it manually. Clicking the minus sign has no effect.
Example 1.
Example 2.

I've made a mistake!
I assumed the cursor-legend was really just a tree, but as it turns out NI has removed our ability to grab the cursor-legend reference since LabVIEW 7.1. Without a reference to the cursor-legend, we can't really do anything like what youre asking. Unless you can find a better answer, I'd recommend circumventing the cursor legend like suggested in this article:
https://decibel.ni.com/content/docs/DOC-6495
(you may want to rearrange the data into a tree control instead of a cluster array, in which case you'll be able to use my posted code, and you'll be able to manually expand/contract the nodes).
Matt Kirk
Inventor of ImageJVI

Similar Messages

  • Errors with multi-plot cursors on Mixed Signal graphs

    Using a Mixed Signal graph, it seems that a multi-plot cursor does not snap correctly if XScale.Multiplier is not set to 1 - it seems to ignore it altogether.  A single-plot cursor on the same graph does not have this problem.  Am I missing something?
    In the attached VI, XScale.Multipler = 0.1, and Cursor 1 (Single-Plot) shows the correct value, but Cursor 2 (Multi-plot) does not.
    Attachments:
    MixedSignalCursor.vi ‏14 KB

    Hello,
    The behavior I see is that the multi-plot cursor which is snapped to plot 0 seems to generally follow an "imaginary plot" which corresponds to a scaled version of plot 0, where the scale factor is the value wired to the XScale.Multiplier property.  I don't think this is desired behavior so I have filed a corrective action request to R&D to have this addressed.  I am sorry for the inconvenience - hopefully you can live with an X-scale multiplier of 1, or the single plot cursors for the time being.  It also takes the offset property similarly, offsetting the "imaginary plot" by whatever value is set there.
    In any event, if this poses a significant problem with additional contingencies, please let me know and I'll be sure to include any updated information in the corrective action request!
    Thank you,
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • How can I update single plot in multi plot xy graph?

    Hi all,
    I'm working on an HMI "front" for a larger acquisition/analysis system, that includes continuous performance monitoring of a turbine. The results of the measurements are stored arrays of contour lines, that represents turbine efficiency and guide vane openings. This analysis is all performed in the background. In the HMI, the performance data is loaded from file when the specific "report" is requested, and is plotted in an XY graph. I would like to indicate the current operation point of the machine by using a plot that is a single point. Thus, that point's position among the contour lines indicates the current performance of the turbine. This point is updated once every second, while the performance data remains the same for considerable amounts of time between recalculations (days to weeks). 
    Is there any way of updating the value of a single plot in a multiple plot XY Graph without having to redraw all the plots?
    I've tried using the "Active Plot" property, which doesn't work. 
    My current solution is to keep all the data as input to the executing while loop and replace a subset of the plot array, but that of course requires the entire rewrite every time the operation point plot is updated.
    Best regards,
    Jarle Ekanger, MSc, CLD
    Flow Design Bureau AS
    Solved!
    Go to Solution.

    You cannot redraw a single plot. If you want to update a single plot, you need to retain all plots in a shift regsiter and replace the data of the desired plot. However, your problem seems much simpler than that. To show a single point on a nearly static plot you have several options.
    You can use a cursor that is controlled programmatically (the style can be a point, don't allow drag).
    You can use annotations.
    You can use the "plot images" feature that allows you to use image commands to draw anything on top of a graph.
    None of these ideas require a redraw of any data.
    I think the cursor idea is probably the easiest and most appropriate. Just use a property node with the following properties:
    active cursor
    cursor position x
    cursor position y
    LabVIEW Champion . Do more with less code and in less time .

  • How to change the node's icon in a tree when the node collapse or expand?

    how to change the node's icon in a tree when the node collapse or expand?

    Hi,
    You may need to use custom skin for that.
    -Arun

  • Multi-plot cursor in xy graph

    I am using an XY graph with 5 curves which belong to one of two y axes each. All curves share the same array of x values. I do not like the cursor legend so I want to read out the values of the one cursor programmatically. I can create a multi-plot cursor which watches all the 5 curves but I cannot find how I can read out the 5 corresponding y values of my cursor. Any help?
    Thanks,
       LX (using LV2014)

    Use the cursor index property value and wire that to an index array function for each y array.

  • Multi plot cursor in Mixed Graph

    If Digital waveform and normal waveform graph is plotted in a mixed graph, and if I choose watch all plots(multi plot) in cursor, LabVIEW closes immediately with an error popup dialog
    I have attached the print screen image of that error popup
    Attachments:
    error.JPG ‏188 KB

    Hi Stephen,
               I found a considerable solution to overcome that error.
               Build all the array data at first and then generate digtal
    waveform in single instance.
               ie., With number of numerical array data, build a 2D array of
    numerical data and make a transpose and then generate a waveform.
               It generates number of digital waveform equal to that of the
    column size of 2D Array.
               Do not build generated digital waveforms. This creates an error
    while using multi plot cursor--> watch--> All plots.
               I have attached the modified, bug removed Vi with this message for
    your reference.
    Regards,
    Raja
    Project Engineer
    Soliton Technologies
    www.solitontech.com
    Attachments:
    Mixed Graph Modified without Error.vi ‏25 KB

  • Mixed Graph - Multi Plot Cursor Problem

    If I plot both Analog Waveform and Digital Waveform in a single Mixed Graph, and when I choose watch all plots in cursor legend, LabVIEW crashes with an error message.....
    I have also attached  the Print screen image of that Error
    Attachments:
    error.JPG ‏188 KB

    Jared Boothe,
               I found a solution to overcome that error.
               Build all the array data at first and then generate digtal waveform in single instance.
               ie., With number of numerical array data, build a 2D array of numerical data and make a transpose and then generate a waveform.
               It generates number of digital waveform equal to that of the column size of 2D Array.
               Do not build generated digital waveforms. This creates an error while using multi plot cursor--> watch--> All plots.
               I have attached the modified, error free Vi with this message for your reference.
    Regards,
    Raja
    Project Engineer
    Soliton Technologies
    www.solitontech.com 
    Attachments:
    Mixed Graph Modified without Error.vi ‏25 KB

  • Problem changing TrackMode from Plot&Cursor (TrackAll) to ZoomXYRectangle

    I'm using a CWGraph control from Measurement Studio 6.0 in a C# application.
    I want the user to be able to switch between tracking modes on the fly - I use Plot&Cursor mode to allow them to right-click on a point and get more information. But when I switch to ZoomXYRectangle mode, it does not work (it does not allow me to zoom).
    Am I missing something? The same functionality works fine on the 3D Graph (switching from TrackAll to TrackZoomPanRotate).
    Thanks,
    Natalie

    This is pretty strange ... I played around with the project for a while and there seems to be something about bringing up the context menu that throws something off. If you comment out the line of code that shows the context menu, the problem doesn't reproduce anymore. Also, if it's not working after you switch to zoom mode, you can right-click anywhere on the graph and then try to zoom, and it'll work.
    Off the top of my head I can't think of a good reason why this is happening. Since it will work again if you right-click anywhere on the graph, you could hack a workaround by sending a message to the AxHost that's hosting the ActiveX control to make it think that it received a right-click. It's a total hack to fix it, but it does work. Here's some
    sample code that shows how to do this:
    // Place this code somewhere in the form class:
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
    private const int WM_RBUTTONUP = 0x0205;
    private const int MK_RBUTTON = 0x0002;
    private static int MAKELPARAM(int low, int high)
    return ((low & 0xffff) | ((high & 0xffff) << 16));
    // Change the CheckedChanged event handler for the zoom radio button so that
    // the message is sent when the track mode is changed.
    private void zoom_CheckedChanged(object sender, System.EventArgs e)
    if (zoom.Checked)
    axGraph.TrackMode = CWUIControlsLib.CWGraphTrackModes.cwGTrackZoomRectXY;
    SendMessage(axGraph.Handle, WM_RBUTTONUP, MK_RBUTTON, MAKELPARAM(1, 1));
    - Elton

  • Single Plot fill with different colours

    Hi;
    Any suggestions on how I could fill a single plot with 2 different colours.? Basically I have a single sine wave trace. I want to fill the plot on the positive gradient of the sine wave with red and the negative gradient with green. I need to do this with measurement studio and VB6.
    Thanks.

    Hi Dayaa,
    There is no straightforward way to do this. You will need to use two plots. To plot these plots you will
    need to use the PlotXY function instead of the PlotY function. That
    will allow you to specify the X values for each plot so they show up
    properly. This forums post should help you out:
    http://forums.ni.com/ni/board/message?board.id=231&message.id=692&requireLogin=False
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • How do I collapse multiple libraries into one library?

    I have a couple of dozen libraries, created over multiple versions of FCP, and now I have equivalent copies of events and resources strewn across multiple library files across three drives.  Plus, FCP has been automatically creating new instances of projects and storing them in files named with dates; I can't find the latest version to open it!
    How do I collapse all these libraries into one?  Hopefully not by moving event by event from one to another!  It takes a couple of minutes per event and resource; the program keeps wanting to "reload" resources after each move.

    It looks like you updated your libraries multiple times. Yes, the only way to consolidate them is to drag the events from each library into a master library.

  • Is it possible to create a single texbox? and how to delete a button on a form? please asap, badly n

    Is it possible to create a single texbox? and how to delete a button on a form? please asap, badly needed it right now. thx -regards gustavo

    Hello Gustavo,
    You can create a single textbox using the textbox option here (This is for you to enter text - not for the visitor): http://jingsite.businesscatalyst.com/jing/2013-09-30_2212.png
    If you want to create a textbox for the visitors to enter text, then you need to enter a form, and you can delete the "message" field from the "simple contact" form, but not the name and the email fields (those are mandatory and can't be deleted).
    You may want to check external forms in case you want to have the form rather customized, to check if you can have forms with single textbox. An example would be "Jotform".
    Hope this helps.
    Cheers
    Parikshit

  • How to programmatically add rectangle to a pdf file ?

    How to programmatically add rectangle to a pdf file ?
    There is several page pdfs, non-vector, black and white.
    Users are color blind and have disabilities.
    To train them, one adds a rectangle at a certain lower-left point and width,height specified for a page.
    The idea is to give the script the page and coordinates and size of rectangle to be added programmatically. Green rectangles are acceptable as the cones are most sensitive there.
    Also, additional feature to add bookmarks on the left in the order these rectangle data is provided to the script.
    The script could be "hard-wired" by a list of the rectangle coodinates, and page number, pasted inside acrobat and run or entered into acrobat in some way.
    Your script would help many disabled people who are distributed through out the world.
    Feel free to contact me by email if you wish.
    Dying Vets

    P.S.
    This rectangle does not have to be a full annotation rectangle which needs user,date and a lot of info.
    Something minimal like this would suffice
    1 0 0 RG % red for stroke color
    200 300 50 75 re
    As you can see that the native unit of the pdf file is the "point" having 72 in an inch.
    The file dpi would be given. However, one could assume that pixel for the rectangle lower-left and width/height are given.
    From the pixels and dpi, the points could be calculated if desired.

  • How to programmatically place the field in the canvas.

    Hello!
    Can you please tell, how to programmatically place the field BLOCK1.FIELD1 in the canvas CANVAS1.
    At the moment on the field value CANVAS = NULL.
    And when opening the form error "FRM-41014 Cannot set attribute of null canvas item..."
    Thank you

    Youcannot assign a canvas at runtime. Yu have to specify int at designtime and it cannot be changed at runtime. if you need an item in more than one canvas, use a mirror-item (duplcate the item and set the property Synchronize with)

  • Quick doubt.. from cursor vairable how to get into page vairable

    Hello
    i am creating an apex page where i have 2 regions. From the Top region stores all fields entered into the bottom region
    Text fields like first name and last name and address fields are in region 2(bottom).After region 2, i have a add person button.
    Once i click add person, that person will get into top i.e region 1.
    Now, Region 1 got person1 first name ,last name
    person2, first name,last name
    etc..
    I am not able to display like p1_first_name,p1_laast_name as the list is not stable..it is growing and not showing the person who already got saved..I can retrieve them from DB using a cursor..But from cursor vairable how to get into page vairable..
    appreciate ur help..
    kp

    Your explanation is not good enough. You have to make a better description of your problem or create an example at apex.oracle.com.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • How to programmatically copy a OneNote page from one section to another

    How to programmatically copy a OneNote page from one section to another.
    I don't find any interface in OneNote
    2010 Developer Reference which will let me do this.
    any help?
    Regards,
    Umar
    OneNote 2010

    Hi Umarinam,
    Thank you for posting in the MSDN Forum.
    In the page OneNote 2010 Developer Reference, you can see an Application Interface which includes methods
    help retrieve, manipulate, and update OneNote information and content. 
    The below are some basic samples 
    Retrieving Section Metadata in OneNote 2010
    Programmatically Opening and Closing a Notebook in OneNote 2010
    Hope it helps. 
    Best regards,
    Quist Zhang [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

Maybe you are looking for

  • Set a background using a still image (TIFF)?

    Hi, I am trying to use a still image as a background behind the text for visual placement and text effect evaluation. I have seen how to place a video, etc but can't seem to get a still in there. I can create a video from a still but trying to save s

  • Sound to occur on mouse click?

    Sound to occur on mouse click? Thanks again. (example 3 second gun shot. Must stop after only one play and not loop.)

  • TS3274 Microphone help

    My microphone won't work on my new Ipad.  Everything has been updated..any ideas?

  • Object selection 2

    When you send a selection to the back does it become a Master item? Some of my objects are no longer selectable. Kurt

  • SQL Server Security Logins vs. Databases Security Users

    Why isn't all security needs done just in logins?  When migrating databases, the Logins are not brought over when restoring a backup.  It does not make sense.  Could it not be done all just in the Security > Logins area or why not?  That COULD be des