Control of the Studio development plots Sun chart

I paint a chart by using the graphic Studio development command and the following code:

NationalInstruments.Controls.Plot insertionLossPlot = new NationalInstruments.Controls.Plot ();
NationalInstruments.Controls.Rendering.LinePlotRenderer insertionLossLinePlotRenderer = new NationalInstruments.Controls.Rendering.LinePlotRenderer ();
insertionLossLinePlotRenderer.Stroke = Brushes.Magenta;
insertionLossPlot.Renderer = insertionLossLinePlotRenderer;

NationalInstruments.Controls.Plot returnLossPlot = new NationalInstruments.Controls.Plot ();
NationalInstruments.Controls.Rendering.LinePlotRenderer returnLossLinePlotRenderer = new NationalInstruments.Controls.Rendering.LinePlotRenderer ();
returnLossLinePlotRenderer.Stroke = Brushes.Green;
returnLossPlot.Renderer = returnLossLinePlotRenderer;

This. NationalInstrumentsGraph.Plots.Clear ();
This. NationalInstrumentsGraph.Plots.Add (insertionLossPlot);
This. NationalInstrumentsGraph.Plots.Add (returnLossPlot);

This. NationalInstrumentsGraph.Data.Clear ();
This. NationalInstrumentsGraph.Data.Add (insertionLossPoints);
This. NationalInstrumentsGraph.Data.Add (returnLossPoints);

The plots are drawn correctly, but after about 2 seconds, the lines move slightly and their brightness seems to slightly reduce.

I don't see all the graphic properties which would explain this.

Can someone explain this?

From your description, it seems that you draw a large amount of data for the chart at the same time. In the default RenderMode configuration of Auto , the graph allows to detect large, as default data Raster mode. After a short time-out, the graph will see that data are not updated with high frequency and pass automatically to the Vector , who uses anti-aliasing can give diagonal lines and a lighter side.

To avoid the automatic ignition, just set RenderMode to one value other than Auto .

Tags: NI Software

Similar Questions

  • How can I control the default develop settings in LR5?

    I used LR for many years but have never figured out the following: when I work on a lot of photos to the point, most of the time the development parameters are on their normal default values (for example, 0 for most of the sliders; white for lens, etc.).  As I did each photo and move to the next, the parameters of jump to the default value.  Sometimes, however, this second stage does not occur; When I opened the second photo the development parameters are still where I left in the treatment of the first photo.  Recently, LR sometimes opens with the settings I used in the last session, even if I closed LR in the meantime.

    I know how to use to copy / paste, but they do not seem to be involved.  I don't know how to use the synchronization; I looked at a few tutorials, but they assume a synchronization knowledge that I don't.

    Any help appreciated.

    How can I get it to open on the defaults to develop?

    In the Lightroom Develop bar menu > default develop settings. Select "restore the default Adobe" see the capture screen.


  • Where can I find the Helper of Plot Bar 3D LabVIEW in 2014?

    Hi all!

    Sorry if this question is trivial. I know this is supposed to be pretty simple. However I fail to solve the problem.

    I need to generate a 3D bar plot.  For this, I found the attached example VI: 3D bar with custom labels chart 2013.vi.  I tested this 2013 LabVIEW VI and worked perfectly.  However, I have to work with LabVIEW 2014 (German edition, SP1, f3). When I opened this VI with the 2014 version, I get a broken VI.

    I realize I don't think 3D Helper.vi of Plot Bar where I used to find it in the version of 2013 in my 2014 LabVIEW (see image of attachen). In addition the broken VI seems not to recognize the custom 3-d bar graph indicator.

    I appreciate any help you can provide to me!

    Sincerely,

    Diego

    Hello everyone!

    I just found the cause of this behavior. The Helper of Plot 3D Bar is not available in the basic development system.  It was possible to see in the 2013, because it was a trial version where the VI is available!

    Thanks anyway!

    Diego

  • Weird problem with control of the ring and foot

    So I have some sort of weird issue with a control of the ring and a chart. I'm with LabWindows/CVI on a Windows 7 computer. The part of the program I'm looking at is basically to navigate through data - there are several "transition" (rehearsals experience), and you can choose the one that you want to watch in the list.

    Normally, you would select transitional in the list, it plots the data, then it is done, basically. However, all of a sudden (don't know how long it spent for), when I select anything except 'Average', he made all the tracing and such, then it changes control of the ring to 'Average' (it is not plot the average data or generate all the reminders that I can tell).

    Now the thing the more bizarre as you can see below, it seems that the switch happens just when I draw something on the chart:

     

    So, it's just weird. The code in this section is here:

       if(uidc.polyon) {
                polynomial_subtraction(curr_data, np, uidc.polyord, 0); // 0 Skip for now
            }
    
            // Scale the curr_data for gains, then pre-scale the FFT data
            // to have no change in the power spectrum (multiply by (2/np)
            for(j = 0; j < np; j++) {
                fft_data[j] = curr_data[j]*2/np;
                curr_data[j] = curr_data[j]*uidc.fgain[i] + uidc.foff[i];
            }
    
            uidc.fplotids[i] = PlotY(dc.fid, dc.fgraph, curr_data, np, VAL_DOUBLE, VAL_THIN_LINE, VAL_NO_POINT, VAL_SOLID, 1, uidc.fchans[i]?uidc.fcol[i]:VAL_TRANSPARENT);
    
            // Prepare the data.
            FFTEx(fft_data, np, npfft, NULL, FALSE, curr_fft);  // Do the fourier transform
    

    DC is a structure that I use to better organize some UI controls and uidc is for display RAM variables, then dc.fid is the Panel that is embedded in the tab "FID", dc.fgraph = FID_Graph and corresponds to the chart control. Control of the ring is actually in a child Panel, dc.cloc [0]. FID_Graph has a point, it can produce, but the reminder is empty (no not coded something there yet).

    I have also considered that perhaps something in another thread (I don't think there is, but whatever) I see is the cause, however, this behavior still happens on that line. I tried to break in different locations, on hold, then continues, as well by adding a loop containing Delay (0.01), a loop of 100 times. Always happens after the conspiracy.

    Does anyone have any idea why this might be happening?

    Hi Paul,.

    I don't have a solution, but I wanted to point out that, even if you see the ring to change its value only when you call the function of tracing, that doesn't say what this function call that really changes the value of the ring. In CVI, some drawing operations are batched, for performance reasons, and the Panel updates only visually at certain times. One of those moments when you draw a chart data. Yes, the ring changes visually at this time there, but it is probably just 'catch up' a change earlier.

    As you are looking through the code, when the value of the ring, you can use the term > command update UI to force the update panel, so that you don't have to wait for the tracing function and see if all goes well this change happening earlier.

    Luis

  • After the last update, the search engine shows a chart containing the symbols of share, recharge and subscribe on my mbp and imac. Please notify.

    After the last update, the search engine shows a chart containing the symbols of share, recharge and subscribe on my mbp and imac. Please notify.

    It is a problem with the extension of the RSS icon (Firefox/tools > Modules > Extensions), so you will have to disable or uninstall this extension until its developer released an update to fix this.

  • Firefox version 21 of it which is the WEB DEVELOPMENT TOOL? What are the functions and what is it for?

    I just want to know what all the tools in the toolbar / web developer

    Each of them control?

    The current versions of Firefox have many tools of web development integrated including an inspector and a Style editor.

    The Web Developer toolbar has a help (F1) menu to facilitate the entry of orders.

    You can also use this toolbar to make a screenshot full page.

  • Keyboard and a chain of control to the screen

    I feel a strange behaviour when I use the keyboard (OSK) and a chain of control on the screen.

    I develop an application that you can use the OSK to enter some data on a touch screen with no physical keyboard. I have a Machine to States Event-Driven set up at the key event to the bottom when a word/characters are entered and the user presses the Enter key on the OSK. I noticed that if I probe the wire wuen Vcle I press the Enter key on the OSK, it appears like a back press. Not much, I thought, just to see if the Enter key is pressed and continue on.

    When I went to test my program, I noticed that my values were as if nothing has been entered. Digging a little further, I noticed that my original data are still there if I press the BACKSPACE and delete the return order. Probe string wire in the control of the chain indicates that the value comes back as an empty string in my control channel even if my entire string is physically still there. I can press the BACKSPACE (remove the carriage return) and see my original text. What, in my view, that happens, is when I press the Enter key on the OSK, it inserts something and moves my text upwards or downwards, and when I use the node property to retrieve the data in the control of the chain, I get an empty string.

    How did you get around this? I would like to hear your solutions.

    Have you tried right-clicking on the control of the chain (assuming that it is "ID mould to enter") and by assigning the value 'limit to the single line "? Sounds like your settings cause hit enter to add a line instead of the finish of your entry change. (You can also change the behavior of 'back' in your settings of LabVIew)

  • Using ActiveX controls to the old user interface

    I tried to build a User Interface for TestStand 4.1.1 using LabView 8.6.1 (on Windows XP)

    However, ActiveX controls keep showing in the old non - 3d "block" style.

    This seems to be a problem when you build a new exe. If you use the included UI (Full Featured) in TestStand it appears correctly.

    I was able to replacte this problem on two other development systems (a new windows XP, LabVIEW 8.6.1 & TestStand 4.1.1 install).

    (1) take a copy of the full-functional UI of LabVIEW.

    (2) open the project file

    (3) rebuild the exe file

    It's only a problem when you use the exe file. When you run from the LabVIEW development system it looks good.

    Hi Simon,.

    For your UI to take on XP
    Theme controls, you will need to place a manifest file that specifies the activex control topics in the same
    directory as your executable file. TestStand comes with a manifest file for
    INTERFACE c# you can also use for the UI of LabVIEW. Just go to the \User Interfaces\Simple\CSharp and copy the file TestExec.exe.manifest in the directory of the LabVIEW User Interface executables.

    Note that the manifest file must have the same name as your executable file LabVIEW UI. For example, if you name your user interface, "MyCustomTSUI.exe", you will need to name the manifest file 'MyCustomTSUI.exe.manifest '.

    Please let me know if this solves your problem or if you have other questions. Thank you!

  • Why an asynchronous call would lead to "the VI is not executable. The full development version... »

    I built a labview moderately complex program to connect with a new parser that I build.  To briefly describe the application, the main VI is a user interface which, in an initialization step, asynchronously calls a dozen other screws each called VI is a state machine that handles communication with a component specific for my parser, whether heat controllers, regulators debit, NI DAQmx channels, a SQL database, etc..  I use the VFG and/or EI to communicate information between the main VI and each component. The system works well when it passes through NI Labview 2012 SP1 (full development Version).  I build the project successfully, but when I run the construction (on the same development machine), I encounter the "the VI is not executable.  The full development of LabVIEW version is needed to correct errors"message.

    My first troubleshooting step that was supposed to isolate the problem.  I removed all the asynchronous calls, rebuilt and the program works without errors (granted, no State machines that handle I/O bundles are running). This gave me the impression that my UI screws are not the problem.

    The next step that I took was to create a test project with a simplified user interface to call asynchronously, and control a single component.  The first part, I tried to control a heating unit, and it works perfectly.  I have build it and run without errors or problems.

    Thinking that the component should not be a problem, I add the async call for this component in my main VI, to test it.  This works well in the built environment of Labview development, without errors, but alas, I get the same message as the "VI is not executable' when I try to run the build.

    I am at a loss on how to make trouble, or it could be the cause of the problem.  Why an asynchronous call to the VI even break the construction of an executable project, but don't cause problems in an executable of side projects?


  • ActiveX controls of the EXE / indicators?

    Hello community,

    I have a few internal developed labview exe, and I wish I had read access to some of the controls on the front panel / indicators. For various reasons we do not want to modify the source code. Is there a way to access the controls / indicators via ActiveX or .NET? (I know that reference openning a VI in an EXE is not an option after LV 8.6 or so)

    Thank you!

    This document answers questions: https://decibel.ni.com/content/docs/DOC-9647

  • How to ensure that the graph xy plots are present?

    Hello community,

    Since the update to LabVIEW 2014 this week, I have a problem with the code that worked (or didn't, but the problem was unnoticable).

    As example the llb I created to present the question, I'm graphic xy filling with quiete some data and then color programmatically plots.

    The problem is that if there are too many plots then the property nodes that are to color the mistakes of Mr. thow plots as if the corresponding plots were not present in the graph still - even if I used a single flat sequence structure to try to ensure that the data is written in the plot before trying their color.

    Maybe this wouldn't be in LabVIEW 2013 too - but the threshold for the number of plots was higher. All I can say is that I have observed this with data sets that worked well in 2013 of LabVIEW.

    To reproduce simply run 'color of the graphs.vi' with values high enough to 'numerisch' and ' numerisch 2 "(50 on my machine can be more about yours).» I left the terminal nodes property unwired error so you get caught up in the right position when the error occurs.

    Somehow check if all parcels are in the charts again? This way I could introduce a delay that ensures that I don't have the color of the graphics that do not exist yet - regardless of the speed of the target computer.

    Xy graph behavior has changed in 2014 of LabVIEW? Or maybe his performance?

    Best regards

    Florian

    HM, your addendum somehow answered my question. We are indeed an against the user interface thread race condition.

    Unfortunately, I do not know a method to wait than the UI thread to have access to all plots. In addition, the waiting time that you need depends on the ability of the system, which is dynamic, you know not all processes background or in parallel, running applications.

    That being said, I recommend a work around:

    1. create the data for the plots

    2. how many plots you have in query data

    3 write short dummy data in the terminal, and not the data of the whole plot

    4 Recolor plots

    5. write the correct field data

    Norbert

  • The XY graph Plot.LineWidth Property node problem

    Hello!

    I have a loop, where I repeatedly putting curves in a XY Chart. In the first iteration of the loop, after the first corner appears on the graph (I send data from the graphical indicator), I use a Plot.LineWidth Property node to align the thicker. However, in the next iteration, when the second plotted curve appears on the graph, and the property node is pulled again, the second curve remains thin. I guess what I've done wrong, that this property node defines only the first curve? How can I set the width of the line of all the curves of the XY graph on the same value? When I directly on the properties of XY graph, I can set the width of the curve, but only one by one...

    Suggestions how set the widths of the ground on a specific chart XY?

    Thank you!

    If it is a multiplot XY, you must set each plots properties by using the property activeplot (index of the new lot), then by setting the thickness.

  • Outsourcing of the controls on the front panel for a panel floating Subvi

    Hello!

    I already found a few similar topics, but I still don't know which is the best way to solve my problem. I will try to describe my problem in detail first: I have a main VI that acquires data from a device and displays these data in a large waveform graph. I have also a few controls on the front panel to control my device. First, I placed all of these device controls (digital, sliders, etc.) as well as the chart inside the front of my main VI. However, due to limited screen space now I would like to make the largest possible graph and so decided to "outsource" some controls out of the main façade of VI to several panels front-end Subvi.

    I would then press a button in my main VI and it would open the Panel before the floating of the Sub - VI corresponding with outsourced controls when required. However, everything must be absolutely transparent. It is important that floating panels to run in parallel with my main VI, that is the main VI must continue to operate. That way I'll have my data constantly updated in the chart in my main VI while I can change some settings of the device through the controls placed in my SubVIs. These changes will be immediately applied (for example as soon as the main VI calls this slot - VI in its main loop).

    It is important to the visibility of the outsourced optional control panel, i.e. If the Subvi front panel opens with the user that it will pop up and the user will be able to change the paramers device using the. But then the user should be able to close the front panel (hide) the Subvi to see the entire chart again without the Panel floating in front of her (of course control values must be maintained when the Subvi front is not visible). Then the new button is pressed in the main VI that opens the dialog box not modal Subvi containing controls and it can redefine new values of device.

    Advice how to do this are welcome. I don't know if I need something complex like VI server or asynchronous screws or I can solve my problem by changing some settings simple Subvi? Thank you in advance for your help!

    Best regards

    Anguel

    AStankov wrote:

    How about using a global variable for the VI at VI communication instead of a queue?

    A global variable will, also.  Write you in one place and read the value frequently to somewhere else (in the election). So you can see easily to any value change.  However, mark will waste a lot of time processor.  This is why I have proposed to use a queue or a notification utility.

    AStankov wrote:

    Would be the last option that you mentioned, i.e. finish the Subvi at each change of value, I would keep the Subvi front open as needed until things from the user to hide? Or would there be inevitable flickering Panel or any other drawbacks?

    Yes, the Subvi can keep the façade open until the user closes. And there should be no flickering.  The biggest drawback I see right now is that when you expect an event in the Subvi, the mainVI cannot stop without talking to the Subvi to stop.  So you'll need another channel of communication (again a global, a queue, a declarant or an event) to tell the Subvi that she must stop.

  • How to set the size of plot-legend with properties?

    Hello

    in the screeenshot I create 10 plots that are displayed in a xy chart.

    According to the number of plots of the legend is updated.

    How can we set the legend is highest of 5 plots and other plots 5 (or more) is visible if you are using the scroll bar?

    Thank you

    Solved.

    Name of the property is under: legend + size + high

  • Node property of a control inside the cluster within a table

    I created a control that has a cluster to a Boolean, a string, and a digital.  Then, in my front, I created a table of these custom controls.  I wish I had access to the property of the controls inside the cluster in the table.  That is to say, I want to change the color of the Boolean or blinking, or "disable and gray" text box.  I think I'm on the right track, or maybe I'm on the wrong track.  I joined and example VI (testtray.vi) and control that I use (UUT_Display.ctl).  Please excuse the use of a flat Structure of the sequence, I know it is bad programming practices, but I just wanted to throw something together.

    Any help would be appreciated.

    Kevin

    Items in a table can have different values, BUT each element of the table share the same properties.

    "Blink" is a property when you make one in tha table blink you will all Flash.

    This restriction does not apply to clusters.

    So in theory, you could develop an XControl that has a data type is an array, but the display is actually a cluster that resembles a table. But write an XControl is not a trivial task.

    Ben

Maybe you are looking for