3d plot z scaling

An aplication we're developing utilizes the 3D Surface.vi to plot a
surface. However, I'm unable to come up with a way to controle the z
scaling programmatically by property node or by other means. In
addition, it would be nice if anyone has a way to generate a cursor
that reads out the z value on the surface.
Thanks.
Devon
Wavefront Sciences, Inc.
LV 7.1

The attached ZIP should get you started.
The top level VI labeled "3-d Surfaace.VI"
explicitly sets the scale ranges in the sub VI Set Axis Range
and creates two cursors. The second of which can be used to probe the suface.
I hope this helps,
Ben
Message Edited by Ben on 10-22-2005 08:22 PM
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction
Attachments:
Code.zip ‏259 KB

Similar Messages

  • Plot 4 Graphs with only 2 legends

    Hi!
    I have a graph in which I want to put 4 plots of defined color and line width, but in the Legend I want to show only 2 of them.
    I tried to define the plots and scaled the Legend with the mouse to the wanted first 2 plots. Unfortunately this setting isn't saved, when I close and reopen the vi.
    Next try was to define the plots at the start with property nodes. But when I set "Legend: Plots Shown" to 2, it's not possible to setup the third plot.
    Anybody an idea for a solution?
    Thank you in Advance.
       Hendrik alias XS-er
    PS: I'm using LabView 8.0
    Message Edited by XS-er on 05-17-2006 02:39 AM

    Graphs only save settings for the plots they have default data for at the time of saving.  So, if the default data for the graph has four traces, it will save info for four traces.  If it only has one trace, it will save info for one trace.  If you need to save data for plots, a more robust solution is to set the values using property nodes on the graph in the initialization section of your code.  That way you won't lose them.  Note that you cannot set properties on a trace which does not exist.  You will need to preload your graph with the number of traces you are using (I think you can use zero length traces).  If you stop using one of the traces, you can lose the information at run time.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Add second y-axis to chart

    Hi Everyone
    I'm doing a formal report for a university project and would like to know how to add a second y-axis to a chart? I have 4 lines plotted on a scatter graph, 3 of the lines have values that are between 0 and 3 and the fourth line has values from about 1200 to 1500. I would like to add another y-axis so that the 3 smaller valued lines are on the second axis. All four lines must be plotted on the same graph with 2 y-axes.
    I have tried searching the user guide but did not find anything
    Thanks in advance
    J.C
    Message was edited by: J.C

    J.C,
    In this version of Numbers, there is no built-in option to add a second axis to a Scatter Chart. The way to do it is to create an auxiliary column with the 2nd axis data scaled to match the other series. Plot the scaled data and then, using text boxes or tables, add a second axis and labels to your chart manually.
    Regards,
    Jerry

  • Including scaling information in binary file, which can be plotted in graph

    I need to plot a graph from a from a bin file, I am able to plot the graph using read binary file vi but the scaling is nowhere close to what it needs to be.
    Its in auto scaling mode, if I set the values manually by giving maximum and minimum values the graph disappears,
    I believe it has something to do with some missing header file not included in the binary file as of now.
    Can anyone help , I need to know , how to add header in the binary file so that I include the information of scales or units of measurements of the data which has to be plotted.

    Hi Shrikant,
    you include "header information" the same way as you include "data" in your binary file: You simply write that information to the file...
    When trying to plot "the file" you read both parts (header and data), one after the other!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • The caption on an annotation is off the plot area. Even if I cahnge the x and y scaling I still can't see the annotation caption. How can I change it so that I can see it?

    The caption on an annotation is off the plot area. Even if I cahnge the x and y scaling I still can't see the annotation caption. How can I change it so that I can see it?

    Try calling SetCoordinates on the annotation's Caption property. This method lets you explicitly set the x and y coordinates of the caption.
    - Elton

  • Intensity Plot Scaling

    I need to change the scaling on the intensity plot. However, there have been some changes in Labview 6i and now I can't find how to change Xo and dX programmatically through attribute node. Does anyone know how to get Xo and dX to show up? I have been playing around with the X.increment, X.minor.increment, X.start, X.maximum, and X.minimum, but they don't seem to give the results I need.

    In LabVIEW 6i, Xo (offset) and delta X (multiplier) for scaling data can be found in a property node under /X scale/Offset and Multiplier/
    Hope this helps. /Mikael

  • Autoadjust scale limit on plot, with offset

    Hi,
    I have a plot and the y scale is set to be scaled automatically. This
    is what I want. However, the space between the current highest value of
    the graph being plotted and the current highest value on the y scale is
    too small. Is there away to give it an offset?
    For example, if a constant value of 17.8 is being plotted, the highest
    value shown on the y scale will be 18. Could I force it to be, say,
    20?  that would be 20 - 17.8 = 2.2
    So for example, can I set a permanent offset of 2.2 for this separation?
    I hope this is not too confusing... Thanks!

    Sure. First, check to see if Loose Fit is checked for the Y axis (right click on graph, Y Scale>Loose Fit). With this checked, it might be enough for your needs. Otherwise, you can use a property node to autoscale the Y axis once, then get the YScale.Maximum, add your offset, and write it to YScale.Maximum.
    Message Edited by Dennis Knutson on 03-30-200609:23 AM
    Attachments:
    Set Y Max.JPG ‏19 KB

  • 2D Axis Scaling Bug in Reports (DIAdem 2014)

    Hello,
    I've run across a rarther annoying bug in the 2D axis scaling for Reports.  Here's how to recreate it:
    Load a dataset that has x and y components.
    Create a new layout in the Report tab
    On Sheet1, add a Simple 2D Axis System.
    Select x and y from the dataset and drag it into the 2D axis system.
    Change the scaling mode from "Completely Automatic" to "Manual."
    Change the "Begin" number to something close to the default DIAdem has set.  Do not touch the "End" number.  Click OK.
    Add Sheet2 and repeat steps #3 thru #6 on Sheet2 with a different dataset.
    Both plots look good right now...
    Go to Sheet2 and double click on the chart to bring up the Curve and Axis Definition.
    Don't touch anything...just click "Cancel."
    After clicking Cancel, the scaling of the 2D axis completely changes.  I believe what happens is that DIAdem takes whatever the previous "End" number was and uses that instead of the "End" number you want.  Also, you don't actually have to go into the Curve and Axis Definition to create this bug.  Press cancel while editing anything like text (for example)...bye bye plot.
    Moreover, if I go back in and set the scaling mode back to Auto, click preview to refresh the plot, then switch the mode to Manual, everything looks good.  However, if I copy Sheet2, the plot on Sheet2_Copy1 is messed up the same way as if I hit Cancel but Sheet2 is OK.
    Worst of all, the undo function does not work on this unwanted scaling change.
    This is a bug that makes plots in the Report files almost unusable.  I hope this is re-producable on other systems so a patch can be issued.  Let me know what you find.
    The only workaround I've found is to click OK instead of Cancel, which isn't always preferred.
    Thanks,
    Jacob
    Solved!
    Go to Solution.

    Hello jrasco,
    You are right. This is a bug in DIAdem 2014. We fixed it for the DIAdem service pack.
    This is the link to the English DIAdem 2014 SP1
    Thank you
    Walter

  • Vertical axis scaling problem with XYZ bar/line chart

    Post Author: satwar
    CA Forum: WebIntelligence Reporting
    Is there a trick to making the scaling on the
    Z-axis equal to the Y-axis. I don't want to specify the scaling on
    either axis because I am generating report with filtered "dimensons" in
    order to generate all measure charts for a given set of filters. The
    measures have various value ranges so by not specifying chart scales,
    the Y-axis is auto ranged, which is good, but so is the Z-axis, which
    is bad. I want both Y & Z axis to range together so I get a good
    visual comparison of the two measures being plotted.

    Post Author: jsanzone
    CA Forum: WebIntelligence Reporting
    satwar,
    There is no "trick", we're just victims of the limitation that WebI has in portraying XYZ type charts to our better liking.  I submitted a request to Business Objects Tech Support in Oct 2006 and became the proud holder of two ADAPTs:
    ADAPT00676587 u2013 for the scaling issueADAPT00676609 u2013 for the stacked bar chart, line graph issue
    When fully implemented, the scaling for Y and Z should be able to correspond to each other.  For instance, max value of Y and max value of Z will set on both scales the same max value.  I don't discourage you from submitting a trouble-ticket, perhaps if they get more noise on this situation they'll resolve my (our) ADPAT sooner, but just hoping....

  • PlotXY manual X Axis Scaling doesn't rescale Y-Axis auto-scaling

    I'm using PlotXY(..) to display data on a graph.
    I use SetAxisScalingMode(...) to set set VAL_LEFT_YAXIS to VAL_AUTOSCALE.  
    I use SetAxisScalingMode(...) to set set VAL_TOP_XAXIS scaling to VAL_MANUAL.
    I make various calls to SetAxisScalingMode(...) which change the min & max values for the X-Axis.
    Everything thing seems to display correctly except that changing min & max values using manual scaling on the x-axis does not seem to change the range of data used to auto-scale the y-axis.
    For example say you have a peak in your data that you want to exclude so the auto-scaling on the y-axis will zoom in.
    So you change the max, min manual x-axis scaling to leave out the peak but scaling but the y-axis scaling doesn't change.
    Is this the way it should work?
    Ideas for a work around?
    Thanks,
    Kirk

    Hi Kirk,
    As you've noticed, the autoscaling of an axis in the graph is based on the entire data of each plot, not just on the portion of the plot that is within the range of the other axis.
    If you use only integer limits for the min and max of the x axis, if you plot only 1D arrays, and if you don't mind re-plotting every time that you want to manually change the x-axis, there's a possible workaround, consisting of replacing PlotY with PlotWaveform, so that you can offset the data to plot.
    I've adapted the code that you attached earlier to illustrate this:
    int xmin = 40;
    int xmax = 90;
    SetAxisScalingMode(handle, PANEL_GRAPH, VAL_BOTTOM_XAXIS, VAL_MANUAL, (double)xmin, (double)xmax);
    PlotWaveform (handle, PANEL_GRAPH, datapoints + xmin, xmax - xmin, VAL_DOUBLE, 1.0, 0.0, xmin, 1.0,
                  style, VAL_EMPTY_SQUARE, VAL_SOLID, 1, color);

  • Manual X axis scaling

    Hello,
    I would like to scale x axis manually. For example, the x axis data will be like this:
    70
    71
    72
    73
    74
    75
    110
    111
    112
    113
    160
    161
    162
    As a result, there will be a gap between 75 and 110 (also between 113 and 60). In order to diminish the gap, I have to config the x scaling like 70...75, 110...113, 160...162. Is it possible to solve this problem?
    Thanks
    kind regards,
    zhiyao

    Hi zhiyao,
    There is no configuration setting in DIAdem to do this with one axis system.  What you could do if you wanted to solve this without programming would be to place two axis systems side by side (one on the left, the other just to the right of it), then configure their x axes accordingly:
    [ 70, 71, 72, 73, 74, 75 ]  [ 110, 111, 112, 113 ]
    In the example you listed, you would need 3 axis systems.
    If you're willing to program the solution, then you can change only the x axis numbering with a user command that is placed in the format string of the x axis text, but this does not affect the way the values are graphed.  In that case you would need to plot the data vs. array index, so that the real x axis always ran [1, 2, 3, 4, ...], but you could change the display of the x axis to match the real x values, stored in the x channel [ 70, 71, 72, 73, 74, 75, 110, 111, 112, 113, 160, 161, 162 ].  Type "CFV" into the search field of the DIAdem Help to see more on the subject of changing the x axis display using the CFV variable in the x axis format string.
    Ask if you have further questions,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Axis labels / scaling in CVI2013 SP1

    It appears that the scaling of axes has been changed in SP1 of CVI2013...
    Following scenario:
    linearly scaled y axis, two plots, according to the data axis range should start at zero (autoscaling)
    The green plot on the graph remains unchanged, but I can add a large value (10000) to the orange plot, in this case the plot actually shows the expected value (left figure below)
    If I undo the addition of the constant offset to the orange plot, i.e. subtract 10000 from all y values of the orange curve, the lower axis range is some small value, this depends... say 1e-63 or so (right figure below, both curves overlap so only the green one is visible)
    This does not make sense to me.
    Of course there will be rounding errors involved, so after adding and subtracting some value the original baseline may not be exactly zero anymore, so lets assume it's a little bit larger, 1e-63. BUT THE GREEN LINE HAS NOT CHANGED, and obviously the minimum of the green line is zero... And zero is smaller than 1e-63...
    No, it's not April 1st

    Hello Wolfgang,
    Could you post the code code that reproduces this problem.
    I tried the following code:
    double x[3] = {0.000001, 0.0005, 0.001};
    double y_1[3] = {0.0, 0.0, 0.0};
    double y_2[3] = {10000.0, 10000.0, 10000.0};
    int i;
    int plot_handle = 0;
    PlotXY(panelHandle, PANEL_GRAPH, x, y_1, 3, VAL_DOUBLE, VAL_DOUBLE, VAL_FAT_LINE, VAL_NO_POINT, VAL_SOLID, 1, VAL_GREEN);
    plot_handle = PlotXY(panelHandle, PANEL_GRAPH, x, y_2, 3, VAL_DOUBLE, VAL_DOUBLE, VAL_FAT_LINE, VAL_NO_POINT, VAL_SOLID, 1, VAL_YELLOW);
    for(i = 0; i < 3; i++)
    y_2[i] -= 10000.0;
    Delay(2);
    DeleteGraphPlot(panelHandle, PANEL_GRAPH, plot_handle, VAL_IMMEDIATE_DRAW);
    plot_handle = PlotXY(panelHandle, PANEL_GRAPH, x, y_2, 3, VAL_DOUBLE, VAL_DOUBLE, VAL_FAT_LINE, VAL_NO_POINT, VAL_SOLID, 1, VAL_YELLOW);
     My graphs look like this:
    Thanks,
    Constantin

  • Plot offset in contour line plot

    Hello,
    I have a contour line plot like the the following:
    The circle's center is at x = 0 and y = 0.
    Now I'd like to move the plot with 2 offsets: x and y.
    The axis scaling may not change.
    But the plot circle's center should be moved a bit, so that it's for example at x = 0,25 and y = 0,4.
    How can I do that, so that the plot will be recalculated?
    I attached an example VI if you like to play around with it.
    It's based on the VI "Contour Line Plot" in the NI Example Finder.
    The values of the 2D arrays are given (measured). And after measuring these values the offset calculation should start based on these values.
    Regards
    Matthias
    Attachments:
    Contour Line Plot Test.vi ‏23 KB

    Please discard my previous post, I missed that you don't want x/y scale affected...  First  turn off Autoscale on both X & Y (right click no scale, you'll see options, I also turned off Loose fit but not sure if that's needed even though data are fractional) and then add offsets to data just before they enter Contour Line.
    -BTC
    New Controls & Indicators made using vector graphics & animations? Click below for Pebbles UI
    Attachments:
    Contour Line Plot Test2.vi ‏26 KB

  • Change scaling for a graph included in an HTML report

    I have an array included as a graph in a TestStand HTML report. It is a one dimesion array of 1000 elements. The array is filled by a custom 'C' code step (voltage reading from a Scope), based on the NI Example "DisplayArrayInReport". Is it possable to add or change the displayed X axis scaling in the report, from zero to 1000 (number of array elements) to, in my case, say zero to 10 and include a label of "Time mS".
    I am using TestStand Version 2.0.1

    I think it can be done!
    But you'll probably have to do it manually unless you feel like being CVI savvy enough to get into the source code for how TestStand builds HTML Reports (If you are, let me know and I can help you find where the function you need is)
    The report generator takes your array and passes it off to a DLL in charge of rendering it into a string that can be written to an html file. If you ever view the 'source' of your html report you'll see inside it is embedded a function call to:
    TSGRAPH1.PlotY()
    or something similar. I don't think this has changed from version 2.x to version 3.x. As far as I know there's no way to change the axis labels, but the function does have 3 fairly straightforward parameters, the array to plot, the Xo (origin) and
    the DeltaX. If you were to change the DeltaX from "1" to .01, and save the file, the next time you display it in your web browser the graph will look different.
    I doubt this is documented much of anywhere, so with luck a NI guy might see this and offer any other tips.
    Editing the CVI function call and rebuilding the DLL that generates this line of html would allow you to have those 'improved' parameters as part of your test sequence, but it might not be worth the bother.
    Cheers!
    Elaine R.
    www.bloomy.com
    Cheers,
    Elaine R.
    www.bloomy.com

  • Plotting point in XY Graph only

    Hey guys,
       I am new to labview and I'm wondering if it's possible to plot only one point in a XY Graph, and if it is, how can I do this? I see that when I select XY Graph in block diagram, it only has one place to wire, it doesn't have a place where I can put my X and Y coord's to that specific point... I'm lost here!
    Thanks for any help, guys!

    Pedro_ wrote:
    Thanks for your help!
    Just insert a "built array" of height=1 between the bundle and the graph terminal.
    Also place a small wait inside the loop.
    Also turn off autoscaling for the axes.
    I would do the math explicit, not with express VIs. (I don't htink the math is correct yet).
    I would also graph the four points of the wheel contacts to verify correct scaling.
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for