XY graph reset

Hi,
I have a problem with my and xy graph, the program recieve the data from excel files and it does several operations after that, I send the results to an xy graph, now  I am trying to reset the graph every 100 iteration to avoid data saturation on the graph.
I tried to do it with shift register, case structures and I failed.
If someone can help me, I will appreciate your help.
I attached one picture.
Solved!
Go to Solution.
Attachments:
Impedance 7.png ‏130 KB

Youtube is not the best place to learn LabVIEW.  I don't know if I'd trust the skils of just anyone who can throw up a video.
I would recommend starting to learn LabVIEW by looking at the online tutorials
LabVIEW Introduction Course - Three Hours
LabVIEW Introduction Course - Six Hours

Similar Messages

  • How to make a graph inside a while loop maintain previous values

    In the beginning I was trying to use an the XY Graph Express VI to create a plot of points.  However, the graph is making a linear retrace between the first point of the new line, and the last point of the previous line.  It then creates the new line as desired.
    I have tried using a for loop with to bundle a cluster to the graph, but the graph resets the plot on each iteration (as expected) and I cannot find a way to make it maintain the previous data.  I tried using shift registers but was unable to find out how to do this, and I have also tried bundling the cluster to an array, but cannot figure out how to make the cluster go to a 1D array of a cluster of 2 elements.
    One option is having is finding a way to make it maintain previous data, but the preferred option is to make it create a new plot on each iteration so as to see the color change for each new plot.
    Solved!
    Go to Solution.
    Attachments:
    shift register attempt.JPG ‏64 KB
    original attempt.JPG ‏42 KB
    Output only current iteration data.JPG ‏86 KB

    I'm taking a stab at this because I'm not exactly sure what you want. But I think it is what I have shown here. You need to use a shift register on your outter while loop as I have shown. Your image where you tried using a shift register shows a misunderstanding of shift registers and how they work though, so I would take a look at these tutorials.
    CLA, LabVIEW Versions 2010-2013
    Attachments:
    plot with SR.png ‏29 KB

  • How do i clear a waveform chart after i press stop?

    I attached what I have so far.
    I'm taking readings from 3 thermocouples simultaniously.
    I then graph and log the data in real time.
    I would like it if after i press stop, the graph resets. Then when i press start, the graph starts from the beginning.
    Any ideas how to do this?
    Cory K
    Attachments:
    Test1.vi ‏143 KB

    On the False side of your measure case, use a Property Node for each chart.  Property should be History Data, set it to write, and wire an empty array to it.  This will clear the graph.  I'd also use a shift register wired to a boolean so that you don't keep writing to the properties.  Set the boolean to true on the True side of your measure case.
    Message Edited by Mythilt on 05-27-2008 12:39 PM
    Jon D
    Certified LabVIEW Developer.
    Attachments:
    Test1[1]d.png ‏17 KB

  • Child window closing problem

    hello guys
    i have a main GUI frame and one button on that fires another frame with few graphs. i have an exit button the child one that needs to close that window and return to main one but that button is not working.
    i have tried almost everything so far viz. dispose(), DISPOSE_ON_CLOSE, ChildFrame.this.dispose(), setVisible(false),,,,,, but nothing is working.
    please please help .....
    thanks a lot

    ok.. its a bit longer to read but i m doin it
    ################ child class ###################
              /* Split pane to view simulation results*/
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.AbstractButton;
    import javax.swing.ImageIcon;
    public class GraphPane extends JFrame implements ActionListener {
         private JPanel base,graphic;
         private JButton first,second,third,fourth,fifth,viewer,quit;
         private JTextField firstT,secondT,thirdT,fourthT,fifthT;
         private JSplitPane hPane;
         private TitledBorder title;
         private JFileChooser fc;
         //mode constants
         private final String FIMB="fimB graphs";
         private final String FIME="fimE graphs";
         private final String FIMBOTH="Co-ordinated graphs";
         //mode flag
         private String modus=FIMBOTH;
         // arrays to hold data of the simulation(s)
         private int[] reader1=new int[75];
         private int[] reader2=new int[75];
         private int[] reader3=new int[75];
         private int[] reader4=new int[75];
         private int[] reader5=new int[75];
         // arrays to supply data
         private int[] supply1=new int[25];
         private int[] supply2=new int[25];
         private int[] supply3=new int[25];
         private int[] supply4=new int[25];
         private int[] supply5=new int[25];
         // comboBox to choose viewing option
         private JComboBox selector;
         //change determiner
         private boolean isChange;
         //setting up gridbag layout
         GridBagLayout gridbag;
        GridBagConstraints c;
          public Component createViewcom() {
               //put a relevant image on buttons
               ImageIcon opnerIcon = createImageIcon("images/opener.gif");
               //create a file chooser
              fc=new JFileChooser() ;
              fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
              fc.setFileFilter(new NewFileFilter());
              // create the mode chooser
              selector=new JComboBox();
              selector.addItem(FIMBOTH);
              selector.addItem(FIMB);
              selector.addItem(FIME);
              selector.setFocusable(false);
              //adding item listener
              ModeListener modeListener=new ModeListener();
              selector.addItemListener(modeListener);
              selector.revalidate();
               //selection buttons
               first=new JButton("Simulation_1",opnerIcon);
               first.setHorizontalTextPosition(AbstractButton.LEFT);
               first.setForeground(Color.red);
               first.setFocusable(false);
              first.addActionListener(new ButtonAction1());
               second=new JButton("Simulation_2",opnerIcon);
               second.setHorizontalTextPosition(AbstractButton.LEFT);
               second.setForeground(Color.blue);
               second.setFocusable(false);
               second.addActionListener(new ButtonAction2());
               third=new JButton("Simulation_3",opnerIcon);
               third.setHorizontalTextPosition(AbstractButton.LEFT);
               third.setForeground(Color.green);
               third.setFocusable(false);
               third.addActionListener(new ButtonAction3());
               fourth=new JButton("Simulation_4",opnerIcon);
               fourth.setHorizontalTextPosition(AbstractButton.LEFT);
               fourth.setForeground(Color.orange);
               fourth.setFocusable(false);
               fourth.addActionListener(new ButtonAction4());
               fifth=new JButton("Simulation_5",opnerIcon);
               fifth.setHorizontalTextPosition(AbstractButton.LEFT);
               fifth.setForeground(Color.cyan);
               fifth.setFocusable(false);
               fifth.addActionListener(new ButtonAction5());
               // textfields
               firstT=new JTextField(14);
               firstT.setEditable(false);
               secondT=new JTextField(14);
               secondT.setEditable(false);
               thirdT=new JTextField(14);
               thirdT.setEditable(false);
               fourthT=new JTextField(14);
               fourthT.setEditable(false);
               fifthT=new JTextField(14);
               fifthT.setEditable(false);
               // viewer button
               viewer=new JButton("View Result");
               viewer.setFocusable(false);
               viewer.addActionListener(this);
               //quit button
               quit=new JButton("        Exit        ");
               quit.setFocusable(false);
               quit.addActionListener(new QuitButtonListener(this));
               //add them to panel
               base=new JPanel();
               // layout manager
            gridbag = new GridBagLayout();
              c = new GridBagConstraints();
            base.setLayout(gridbag);
            base.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
            // set constarins for the panel
            //add combo box
            c.gridx = 0;
            c.gridy = 0;
            c.gridheight = 1;
            c.gridwidth = 2;
            c.insets = new Insets(10,0,50,45);
            c.anchor = GridBagConstraints.CENTER;
            gridbag.setConstraints(selector, c);
            base.add(selector);          
            // first set
            c.gridx = 0;
            c.gridy = 1;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(first, c);
            base.add(first);
            c.gridx = 1;
            c.gridy = 1;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(firstT, c);
            base.add(firstT);
            //second set
            c.gridx = 0;
            c.gridy = 2;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(second, c);
            base.add(second);
            c.gridx = 1;
            c.gridy = 2;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(secondT, c);
            base.add(secondT);
            // third set
            c.gridx = 0;
            c.gridy = 3;
            c.gridheight = 1;
            c.gridwidth = 1;
            gridbag.setConstraints(third, c);
            c.insets = new Insets(10,0,10,10);
            base.add(third);
            c.gridx = 1;
            c.gridy = 3;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(thirdT, c);
            base.add(thirdT);
               //fourth set
               c.gridx = 0;
            c.gridy = 4;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(fourth, c);
            base.add(fourth);
            c.gridx = 1;
            c.gridy = 4;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(fourthT, c);
            base.add(fourthT);     
            //fifth set
            c.gridx = 0;
            c.gridy = 5;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(fifth, c);
            base.add(fifth);
            c.gridx = 1;
            c.gridy = 5;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(10,0,10,10);
            gridbag.setConstraints(fifthT, c);
            base.add(fifthT);
            //the viewer button          
            c.gridx = 0;
            c.gridy = 6;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(15,0,0,0);
            c.anchor = GridBagConstraints.CENTER;
            gridbag.setConstraints(viewer, c);
            base.add(viewer);
            //the quit button          
            c.gridx = 1;
            c.gridy = 6;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.insets = new Insets(15,0,0,0);
            c.anchor = GridBagConstraints.CENTER;
            gridbag.setConstraints(quit, c);
            base.add(quit);
            base.setPreferredSize(new Dimension(320,440));
            title=BorderFactory.createTitledBorder("Simulation Comparison");
              base.setBorder(title);
              base.setVisible(true);
            base.setOpaque(true);
            base.updateUI();
            //split pane creation
            hPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
            boolean b = hPane.isContinuousLayout();  // false by default
              hPane.setContinuousLayout(true);
              b = hPane.isOneTouchExpandable();        // false by default
                hPane.setOneTouchExpandable(true);
            //hPane.resetToPreferredSizes();
            hPane.setDividerLocation(365);
            //allocate left component
            hPane.setLeftComponent(base);
            //allocate right component with a default graph panel
            DefaultGraph prelude=new DefaultGraph();
            graphic=new JPanel();
            graphic.add(prelude);
            graphic.setPreferredSize(new Dimension(590,440));
            graphic.setVisible(true);
            graphic.validate();
            hPane.setRightComponent(graphic);
            hPane.setPreferredSize(new Dimension(945,440));
            hPane.setVisible(true);
            return hPane;
         // action performed for view Result button
                public void actionPerformed (ActionEvent e) {
                 if(modus.equals(FIMBOTH))
                        System.out.println("3");
                       for(int i=50,j=0;i<75;i++,j++)
                            supply1[j]=reader1;
                        supply2[j]=reader2[i];
                        supply3[j]=reader3[i];
                        supply4[j]=reader4[i];
                        supply5[j]=reader5[i];
         else if(modus.equals(FIME))
              System.out.println("2");
              for(int i=25,j=0;i<50;i++,j++)
                   supply1[j]=reader1[i];
                   supply2[j]=reader2[i];
                   supply3[j]=reader3[i];
                   supply4[j]=reader4[i];
                   supply5[j]=reader5[i];
         else if (modus.equals(FIMB))
              System.out.println("1");
              for(int i=0;i<25;i++)
                   supply1[i]=reader1[i];
                   supply2[i]=reader2[i];
                   supply3[i]=reader3[i];
                   supply4[i]=reader4[i];
                   supply5[i]=reader5[i];
              System.out.println("works fine!");
              if(isChange)
                   viewer.setEnabled(false);
              else
                   System.out.println("button enabled");     
         // add GraphReceptorData panel to the splitPane
         GraphReceptorData graph = new GraphReceptorData(this);
         graphic.removeAll();
         graphic.add(graph);
    //reset the divider location
    hPane.setDividerLocation(365);
    //repaint the pane after change
    graphic.validate();
    graphic.paintImmediately(graph.getX(),graph.getY(),570,400);
    //add graph to the the split pane finally
    hPane.setRightComponent(graphic);
    // isChange boolean method
    public boolean isChanged() {
         if ((first.isSelected())||(second.isSelected())
         ||(third.isSelected())||(fourth.isSelected())||
         (fifth.isSelected()))
              isChange=true;
         return isChange;
    //Action listeners for buttons
    class ButtonAction1 implements ActionListener {
         public void actionPerformed (ActionEvent e) {
         //Handle open button action.
    if (e.getSource() == first) {
    int returnVal = fc.showDialog(GraphPane.this,"Attach");
    if (returnVal == JFileChooser.APPROVE_OPTION) {
         try
         File file = fc.getSelectedFile();
    //loading the file onto the application interface
    firstT.setText(fc.getName(file));
    RandomAccessFile simulation1=new RandomAccessFile(firstT.getText(),"r");
    if ((firstT.getText().equals(fourthT.getText()))||(firstT.getText().equals(thirdT.getText()))||(firstT.getText().equals(secondT.getText()))||(firstT.getText().equals(fifthT.getText())))
              firstT.setText("");
              JOptionPane.showMessageDialog(null,"File selected has been already choosen","Selection Error",JOptionPane.ERROR_MESSAGE);
         else {
              for(int i=0;i<300;i+=4)
                   simulation1.seek(i);
              reader1[i/4]=simulation1.readInt();
    }          // end try
    catch (Exception locationError)
         System.out.println("Not executed");
    } else {
    System.out.println("Invalid selection");
         class ButtonAction2 implements ActionListener {
    // action performed for button2
    public void actionPerformed (ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == second) {
    int returnVal = fc.showDialog(GraphPane.this,"Attach");
    if (returnVal == JFileChooser.APPROVE_OPTION) {
         try
         File file = fc.getSelectedFile();
    //loading the file onto the application interface
    secondT.setText(fc.getName(file));
    RandomAccessFile simulation2=new RandomAccessFile(secondT.getText(),"r");
         if ((secondT.getText().equals(firstT.getText()))||(secondT.getText().equals(thirdT.getText()))||(secondT.getText().equals(fourthT.getText()))||(secondT.getText().equals(fifthT.getText())))
              secondT.setText("");
              JOptionPane.showMessageDialog(null,"File selected has been already choosen","Selection Error",JOptionPane.ERROR_MESSAGE);
    else {
         for(int i=0;i<300;i+=4)
                   simulation2.seek(i);
              reader2[i/4]=simulation2.readInt();
    }          // end try
    catch (Exception locationError)
         System.out.println("Not executed");
    } else {
    System.out.println("Invalid selection");
    class ButtonAction3 implements ActionListener {
    //action performed for button3
    public void actionPerformed (ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == third) {
    int returnVal = fc.showDialog(GraphPane.this,"Attach");
    if (returnVal == JFileChooser.APPROVE_OPTION) {
         try
         File file = fc.getSelectedFile();
    //loading the file onto the application interface
    thirdT.setText(fc.getName(file));
    RandomAccessFile simulation3=new RandomAccessFile(thirdT.getText(),"r");
    if ((thirdT.getText().equals(firstT.getText()))||(thirdT.getText().equals(secondT.getText()))||(thirdT.getText().equals(fourthT.getText()))||(thirdT.getText().equals(fifthT.getText())))
              thirdT.setText("");
              JOptionPane.showMessageDialog(null,"File selected has been already choosen","Selection Error",JOptionPane.ERROR_MESSAGE);
         else {
              for(int i=0;i<300;i+=4)
                        simulation3.seek(i);
                   reader3[i/4]=simulation3.readInt();
    }                    // end try
    catch (Exception locationError)
         System.out.println("Not executed");
    } else {
    System.out.println("Invalid selection");
    class ButtonAction4 implements ActionListener {  
    //action performed for button4
    public void actionPerformed (ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == fourth) {
    int returnVal = fc.showDialog(GraphPane.this,"Attach");
    if (returnVal == JFileChooser.APPROVE_OPTION) {
         try
         File file = fc.getSelectedFile();
    //loading the file onto the application interface
    fourthT.setText(fc.getName(file));
    RandomAccessFile simulation4=new RandomAccessFile(fourthT.getText(),"r");
    if ((fourthT.getText().equals(thirdT.getText()))||(fourthT.getText().equals(secondT.getText()))||(fourthT.getText().equals(firstT.getText()))||(fourthT.getText().equals(fifthT.getText())))
              fourthT.setText("");
              JOptionPane.showMessageDialog(null,"File selected has been already choosen","Selection Error",JOptionPane.ERROR_MESSAGE);
              else {
                   for(int i=0;i<300;i+=4)
                        simulation4.seek(i);
                   reader4[i/4]=simulation4.readInt();
    }               //end try
    catch (Exception locationError)
         System.out.println("Not executed");
    } else {
    System.out.println("Invalid selection");
    class ButtonAction5 implements ActionListener {   
    //action performed for button5
    public void actionPerformed (ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == fifth) {
    int returnVal = fc.showDialog(GraphPane.this,"Attach");
    if (returnVal == JFileChooser.APPROVE_OPTION) {
         try
         File file = fc.getSelectedFile();
    //loading the file onto the application interface
    fifthT.setText(fc.getName(file));
    RandomAccessFile simulation5=new RandomAccessFile(fifthT.getText(),"r");
    if ((fifthT.getText().equals(fourthT.getText()))||(fifthT.getText().equals(thirdT.getText()))||(fifthT.getText().equals(secondT.getText()))||(fifthT.getText().equals(firstT.getText())))
              fifthT.setText("");
              JOptionPane.showMessageDialog(null,"File selected has been already choosen","Selection Error",JOptionPane.ERROR_MESSAGE);
         else {
              for(int i=0;i<300;i+=4)
                        simulation5.seek(i);
                   reader5[i/4]=simulation5.readInt();
    }               //end try
    catch (Exception locationError)
         System.out.println("Not executed");
    } else {
    System.out.println("Invalid selection");
    //selector listener     
         class ModeListener implements ItemListener {
    // This method is called only if a new item has been selected.
    public void itemStateChanged(ItemEvent evt) {
    selector = (JComboBox)evt.getSource();
    // Get the affected item
    String s=(String)selector.getSelectedItem();
    if (evt.getStateChange() == ItemEvent.SELECTED) {
    // Item selected
    modus=s;
    System.out.println("cell selected is " + modus);
                             } else if (evt.getStateChange() == ItemEvent.DESELECTED) {
    // Item is no longer selected
              }     // end of mode listener
         // Returns an ImageIcon, or null if the path was invalid
    protected static ImageIcon createImageIcon(String path) {
    java.net.URL imgURL = GraphPane.class.getResource(path);
    if (imgURL != null) {
    return new ImageIcon(imgURL);
    } else {
    System.err.println("Couldn't find file: " + path);
    return null;
    //get methods to retrieve the values of supply arrays to feed into GraphReceptorData class
    public int[] getSupplyOne() {
         return supply1;
    public int[] getSupplyTwo() {
         return supply2;
    public int[] getSupplyThree() {
         return supply3;
    public int[] getSupplyFour() {
         return supply4;
    public int[] getSupplyFive() {
         return supply5;
    // listener for the exit button                
         class QuitButtonListener implements ActionListener {
              private Window myWindow;
              public QuitButtonListener(Window w) {
                   myWindow = w; }
                   public void actionPerformed(ActionEvent evt) {
                   myWindow.setVisible(false);
                   myWindow.dispose();
    ######################## parent class#################
    the button there is just calling this class.
    // ActionListener for viewGraph button
    class ButtonGraph implements ActionListener {
         public void actionPerformed(ActionEvent e) {
             JFrame frame=new JFrame("Graph view screen");
             frame.getContentPane().add(new GraphPane().createViewcom(), BorderLayout.CENTER);
             frame.setSize(945, 440);
             frame.setResizable(false);
             frame.setVisible(true);
         }hope this will explain more...
    thanks a lot for help guys

  • Why can't I reset the precision of my axis in a Waveform graph?

    I'd like to reset the precision of the axis on my Waveform Graph.  I can do this in other graphs but when I change it to a Waveform it doesn't like it.  Perhaps this is because time is on the x-axis?
    Anyway it comes up with the error, Invalid Property Value when I run this test VI. 
    Attachments:
    GraphPrecisionError.vi ‏55 KB

    I have reported this in the bug thread: http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=3331#M3331
    LabVIEW Champion . Do more with less code and in less time .

  • ARE YOU AWARE, THAT PROBABLY GOOGLE MAIL, GMAIL, HAS INTERFERED IN LIGHTBEAM'S PAGE SIZE ? I AM NOT ABLE TO SEE ALL THE GRAPH SIGN'S DOWN UNDER. CAN YOU RESET?

    Are you aware that probably Google mail, has interfered in Lightbeam's page size ?
    I am no longer able to see all the Graph Sign's in the centre of the page because they are now in majority, so almost completely, vertical down the horizontal line. ( although, Reset Zoom level is adjusted to 100% )
    Can you reset the page size for me, and also the Graph Logo's back to the centre of the page again. Please.
    At the same time:
    My touch screen now, from my laptop, is extremely more Sensitive for Static load of my hands, resulting in trouble during the writing process, ... because, now the writing cursor, jumps away unexpected if my hand comes near to the Touch Screen.
    It triggers my temper, ... Please, can You help me out here ???
    Small history:
    After I used the possibilities of blocking several Direct and In-directs followers of my personal Internet activities, it is Google Mail, who is in War with me now, and inside Gmail I am no longer able to sign out.
    Because Gmail lay out is partly out of service.
    Thank You all for your cooperation.
    Jan Mink

    It is possible to reset the zoom size.Have you tried [[Font size and zoom - increase the size of web pages|Firefox's zoom feature]]? This will help increase the size of web pages.
    * To make things bigger, press '''Ctrl''' and '''&#43''' at the same time.
    * To make things smaller, press '''Ctrl''' and '''-''' at the same time.
    * To reset the size back to normal, press '''Ctrl''' and '''0''' at the same time.
    You can also use the [https://addons.mozilla.org/en-US/firefox/addon/2592/ NoSquint]. add-on to change the default zoom level for all websites at once. After setting your global zoom level, you can still fine-tune the zoom on individual sites.
    '''Using NoSquint:'''
    #After installing NoSquint, make sure you have the Add-on Bar displayed:
    #*Right-click the new tab button ("+") or a blank area of the tab bar to the right of it and choose Add-on Bar from the shortcut menu.
    #Click the % on the Add-on Bar to call up site preferences, then click the Global Settings button, then the Zooming tab.
    #*You can experiment with sizes larger than 125%, but it's not recommended that you go higher than 150% unless you have a large high-resolution monitor.
    If there are particular sites that still present a problem, feel free to post their URLs.
    Please let us know if this helped you!
    Thank you.

  • Reset button for My graph in labview

    I have a program with a xy graph showing sequences for the motor movements.i need a reset button on my front panel to reset my graph sequences because i have got two kinds of sequences snake and hopper. i need it to be clear so that i could start a new sequence and to be able to visualize them separately.

    What does your existing code look like?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Programmat​ically reset scale layout in digital graph

    Hi all,
    I'm using a digital graph to display digital signals.
    During visualization, digital line name can change, then plot names can changes at run time.
    My issue is due to the scale layout. When plot name is too long, plot name is overlayed to the graph. I can fix the problem using Reset scale layout, but it seems that Reset scale layout cannot be enabled programmatically.
    Can you help me?
    Thanks in advance

    HI AC_85
    I verified that Reset scale layout cannot be enabled programmatically. I think you know the plot name size before changing it, why don't you change the plot area position according to that? Maybe you can use property node "plot area" to programmatically set the position of the plot area.
    Regards

  • Resetting axis step value in graphs

    I'm having a little problem with trying to format the y axis of a graph. I want to do it with a bit of pl\sql code (using some of the examples). There is no format trigger for this object and I can't seem to create one. There are code examples with the Graphics Builder Reference but they don't state how to get them to run. Does anyone know how to get a format trigger for the axis or could suggest where I should make the call. Oh yeah, the final output is a pdf report generated by rwcgi60.
    Thanks
    null

    Script has NO access to live graph data… It can only break them… then fish in the group for bits…

  • Create button to clear/reset graph's displayed data

    Hello,
    I'm new here and working with labview. I've searched the forum but didn't found a answer that could help me (or at least I think thank)
    I'm working on a project to acquire process an ECG signal with a DAQ. In the front panel, I'm trying to display 2 graphs, one showing part of the data in real time and the other showing all the data acquired until that momment. I wanted to add a button to this second graph that, when the user wanted, cleared the data shown in the graph but immediatly continued to show the data.
    (trying to make myself clearer)
    "show all data acquired --> press button X --> cleans graph display --> show all data acquired"
    if anyone could help I would be very thankfull!
    Thank you very much,
    FM
    Solved!
    Go to Solution.

    Hi FM,
    when you use a chart you have to clear it's history (using a property node).
    When you use a graph instead you have to clear the array that builds the plot(s)...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Using LabVIEW to Generate an XY Graph of Multiple, Indexed Plots?

    Hello,
    I have written a LabVIEW Program (using 8.2.1) to characterize FETs using GPIB instruments. At it's most basic level, the program sets a voltage across the Gate-Source terminals of the FET, sets a voltage across the Drain-Source terminals of the FET, reads this second voltage, and then reads the Drain-Source current. The Drain-Source voltage is then increased, the current read, and so on. In this manner, the Drain-Source voltage is swept from 0V to some defined maximum (dependent on the FET being tested) and an array of data (I_{DS} vs. V_{DS}) is generated. The Drain-Source is then reset to 0, the Gate-Source voltage is increased, and the entire process is repeated.
    My problem is this: I need to generate a single Graph  (I think it should be XY, but not entirely certain), that plots all of these IV curves (each curve for each Gate-Source voltage) and indicates the Gate-Source voltage for each curve (in an indexed legend of some sort). Does anyone have any suggestions about how I should do this? My program is entirely based on For Loops and Sequence Structures. If you need a screen shot or want me to upload the program, please let me know. Fair warning, though: I am a LabVIEW novice so while the program functions correctly, it is not the prettiest in the world.
    Thanks for any help you can provide.
    Michael
    P.S. I searched the forums and didn't find this question already posted. If, however, it was and I just missed it, could someone direct me to it? Thanks.

    Vincent, Jon, and Andrew:
    I still need some help. I used the 3524.vi Example for the XY Graph: x-array, y-array definition to generate the kind of multiple plot xy graph that I needed. My problem now is I would like to re-index the plots so that they are labeled according to the Gate-Source voltage I am applying. Each curve has its own, distinct Gate-Source voltage and I would like to label each curve with its Gate-Source voltage. Currently, the plots are labeled in the legend: Plot 0, Plot 1, Plot 2, ... Plot n.
    How should I go about doing this (is there even a way to do this)?
    Again, any help would be greatly appreciated.
    Michael
    P.S. I have attached a copy of my program to this message. As I said, it isn't pretty, but it works so far. Hopefully this will help you in forming your suggestions.
    Attachments:
    FET Characterization Program (V2).vi ‏100 KB

  • I'm trying to set up a DAQ assist just to measure some voltage, how do i get the graph to start from 0 (time) every time I press run

    Hi all,
    I am trying to set up a simple DAQ assist to measure some voltages (currently a 9 volt battery to aid set up), when choosing to use a waveform chart to log the voltages the graph doesnt start from 0 (time seconds) how do I do this and get it to reset every time I press run or even stop.
    What I want to see at the end is a chart for the full lenght of the test showing voltage against time in seconds.
    Any ideas peeps
    many thanks
    Shane

    Hi Shane,
    Look at this VI
    Here, I clear the chart before running the VI, using a 'history data' property node ( i pass an empty array to clear it)
    In effect, each time you run the VI, the chart will begin at 0:00
    Hope this helps
    Regards
    Dev
    Attachments:
    chart_start.vi ‏20 KB

  • How do I make an XY-Graph plot points over time?

    I am building a program to plot and take data of a relationship between two voltages.  One is voltage is uniquely dependent on the other.  So far I have successfully built an XY-Graph to plot the voltages against each other (Voltage1 along the x-axis and Voltage2 along the y-axis).  However, the XY-Graph only diplays the point (V1, V2) at the instantaneous time I am looking at it, and does not continuously plot different points as I vary the independent voltage.  I need the graph to display all the points that occur as I vary the independent voltage.  As of right now, all I see is one little cursor that moves all over the graph as I vary it.  My program consists of a While Loop that contains all of the following:  two seperate data anolog input functions that take both voltage separately from my board.  The the output samples from each 'AI Sample' function are then bundled into one cluster using the 'bundle' function.  The cluster output from the 'bundle' function is then wired to a 'build array' function.  The 1-D array output from the 'build array' function is then wired to my 'XY-Graph'.  How do I get the XY-Graph to plot a point every millisecond or so?

    Bundling and then using the Build Array is not correct. Yuo can see the correct method in the help for an XY Graph below. In order to use the normal XY Grpah, you would have two shif registers. One for the X array and one for the Y. Bundle the two arrays and then wire to the graph.
    The other way is to use the Express XY Graph. With that, you can just wire your scalars to the X and Y inputs and set the Reset input to false.
    Message Edited by Dennis Knutson on 11-12-2007 06:32 PM
    Attachments:
    XY Graph 1.PNG ‏21 KB
    XY Graph 2.PNG ‏6 KB

  • Transition measurement vi cursors displayed in waveform graph are moving outside of scale

    Using a waveform graph to display pressure over time. I wanted to be able to calculate the fall time of the pressure over time so I'm using the Transition Measurement vi. I copied exactly what was in the example for transition measurement inside help and it is correctly determining the falling transition time but I am having a problem with the cursors on the waveform graph. I should be seeing a set of green vertical cursors marking out the fall start time and fall end time like in the picture I've attached (capture2) like in the example. The problem is they both always start at 3.43 (capture1) and after each sample period they increment by one (4.34, 5.34, 6.34) The come right out of the bundle from the transition measurement output as those numbers. The period of the signal I'm interested in is always less than 2 seconds, so I never see the vertical cursors.
    I've tried substituting my daq signal with a sine wave generator and it does the same thing.
    The block diagram is in the first capture
    also I would be interested in finding out exactly how the numbers wired to the active cursor property of the property node for a waveform graph relate back to the actual cursors on the graph. Are they just automatically numbered starting with 0 from the top-down?
    Wayland
    Solved!
    Go to Solution.
    Attachments:
    Capture.PNG ‏44 KB
    Capture1.PNG ‏7 KB
    Capture2.PNG ‏29 KB

    Hi Wayland,
    The reason the cursors are always apparent in the example VI for the Transition Measurement.vi, is because the signal being generated is always resetting. So, the signal resets to a 'new' signal for the cursors to go over and therefore always remain in the somewhat same location. The Waveform Graph is also configured in such a way that it will not move or continue to show new data coming in, the data cursors have moved onto. So in your case, you will want to right click the graph and make sure "Ignore Time Stamp" is not checked/selected. This will make it so the graph keeps up with your incoming data and the cursors. You can check this in the example file by removing the True Constant going to the waveform generator and changing the time stamp option previously mentioned.
    In order to view the available cursors and their numbered position, you can right click on the Waveform Graph and select properties. In the properties window there is a Cursors tab, inside this tab at the top is a drop down menu that lists all of available cursors, indexed starting with 0 at the top.
    -Jake B.

  • Performance monitor reports and graphs don't show all the counters that were captured

    I've run into an odd behavior of performance monitor that I haven't been able to clear up yet: after I run a data collector set, the resulting report only shows a partial list of the counters that I captured, and so does the graph of that report (but different
    items).
    For instance, I chose the following counters for the data collector set:
    \PhysicalDisk(*)\% Idle Time
    \PhysicalDisk(*)\Avg. Disk Queue Length
    \PhysicalDisk(*)\Avg. Disk sec/Read
    \PhysicalDisk(*)\Avg. Disk sec/Write
    When the data collection ends, the report that gets displayed shows all those counters for _Total instance and C:, but then E: only shows % Idle Time and Avg. Disk Queue Length. That's it, the report ends there, even though I also have F: and V: drives on
    this server.
    If I choose to view the graph of this data collection, it only shows those four counters for the _Total instance.
    It took me a while to realize that all the data is being captured, but it's just the display that is truncated. If I view the folder then open the report.html, it actually shows all the data. Same with the graphs. If I select to add counters and add
    all the missing counters, they are displayed.
    I have searched high and low but haven't been able to find more than one post at ServerFault where someone had a similar issue, but no real solution or cause was provided, so I was hoping that someone here might have an idea.
    I also found a variety of articles about missing counters due to registry settings or because the counters needed to be reset, but that's a different issue that doesn't apply in my case. By the way, this is on a windows server 2012 R2 VM (file server).

    Hi SomeAdmin,
    The counter missing often caused by the related registry value is corrupted, please first refer the following related KB then perform a fix then monitor the issue again.
    Event ID 3012 — Performance Counter Loading
    http://technet.microsoft.com/en-us/library/cc775053(v=ws.10).aspx
    More information:
    Overview of Performance Monitoring
    http://technet.microsoft.com/en-us/library/cc958257.aspx
    PerfGuide: Analyzing Poor Disk Response Times
    http://social.technet.microsoft.com/wiki/contents/articles/1516.perfguide-analyzing-poor-disk-response-times.aspx
    Analyzing Storage Performance using the Windows Performance Analysis ToolKit (WPT)
    http://blogs.technet.com/b/robertsmith/archive/2012/02/07/analyzing-storage-performance-using-the-windows-performance-toolkit.aspx
    I’m glad to be of help to you!
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

Maybe you are looking for

  • Powerbook G4 to watermarking software

    Does anyone know of any software I run on a powerbook G4 to watermark paintings Regards Byron

  • Getting a "pop" when fading titles

    never particularly noticed this before ... when fading (using cross dissolve) titles in & out, i'm observing a pop at the point where the transition begins. the fade is not smooth. there's a visible of a degradation in quality at the the first frame

  • Capture return key from a field

    Hi, I have developed an application with a GUI interface from which the user has to input various values to the Jtext, radio buttons, and combo boxes. The values will then be written to the database. My problem is I cannot go from the 1st field to th

  • Server Admin says Web service Not Available

    The service status indicator is dark grey (not the dimmed grey of a service being off), and even the Settings view switch button is not showing. However, Apache is running and serving just fine. I had someone install Tomcat 5.0.28 today (using port :

  • IPhoto 6: Does it fix the large maker note and slowness issue???

    I'm hopefull that the newly released iPhoto 6 resolves the problem that many of us with certain Pentax and Nikon cameras are having (creating a bloated library.iphoto file due to a larger maker note ... refer to http://www.ericlindsay.com/apple/iphot