Chart plotting?

Hi,
I need to plot some simple chart in JAVA and print it out or export it to Excel. Is there any simple package out there for this function? Or I need to draw the chart as a graphics from scratch?
Thanks a lot.

e.Spreadsheet (formerly Formula One) is a 100% pure java Excel compatible spreadsheet. All you have to do is get the data into the spread sheet grid (via java API calls) and let it draw an Excel compatible chart. Then you could write the whole thing to an Excel file. See
http://www.actuate.com/Products/Software/eSpreadsheetSolutions.asp

Similar Messages

  • HT4060 I would lke to use an iPAD with chart plotting programmes. Is it possible to charge the iPAD from a 12Volt supply or do I have to use an inverter to get mains Voltage first?

    I like offshore sailing which means that I am without mains electricty for extended periods. I am considering the use of an iPAD 4th generation with a download of iNAVX which would appear to give an iPAD excellent chart plotting capeabilities. But how to keep it charged after the battery runs out? It seems very inefficient to have to use an Inverter to get a mains voltage, only to reduce it again to the level of a USB output!

    Long time sailor but never tried charging an iPad aboard away from dock power.
    Try this forum >  Ipad 12v charging issues. - Cruise

  • Problems with .chart-plot-background and event handlers

    Hello. I'm trying to add event handlers to my chart so that the user can be allowed click within the chart itself to perform certain actions like dragging, zooming, etc. To avoid having to deal with handling mouse clicks that lie outside the chart itself (for example on the axes), I've found that:
    .chart-plot-background
    is the Region that gives me the entire chart and nothing else. However, when I attach mouse listeners to this Region, the event is only registered on half of the cells in the chart. If you've seen the default JavaFX Chart background layout, you know that it contains alternating rows of cells with slightly different coloring. I've found that only the rows with the lightest gray coloring actually register a mouse click on them, which makes me believe the dark grey cells are not part of the .chart-plot-background, but something else on top.
    To me, this feels like an oversight in how the regions of the chart are defined. Why can I not get a listener to work on the whole chart and nothing else? Currently the only workaround seems to be to take the Region:
    .chart-content
    instead, and compute the difference between this region and the .chart-plot-background in order to manually suppress mouse clicks that lie outside .chart-plot-background.
    Anyone have suggestions? Is this worth issuing on the JavaFX Jira?

    Hello,
    I'm not an expert on controls, but here is my guess based on your description: when you register an event handler on a "background" node, it is called only when the mouse hovers over the background node - I suppose the light gray is the background with the light gray cells being transparent and dark grey cells being filled. So the behavior seems correct - you can't expect the events to be delivered to background when it is covered by other nodes. I think you really should register the handler on the entire chart and filter out the events you don't want to handle. This however should not require much of computing the difference between the regions, it should be possible to do just something like
    if (!background.contains(event.getX(), event.getY())) {
        return;
    Provided that the background doesn't reach under the axes as well. Note that if there are any different transforms between the background and the node with the handler registered on it, you may need to recompute the coordinates by
    background.sceneToLocal(event.getSceneX(), event.getSceneY());
    And use the contains method on that.

  • Export Waveform Chart Plots data to spreadsheet file based on X scale (Time Stamp) min and Max Value

    Hi All,
    Query 1:I am trying to export the Chart data(Total plots 6 ) only between the X scale Min Time and Max time limit .
    But couldnt able to achieve that progammtically.
    is their anyway to achieve this.
    Query 2:Also ,In chart their is an  right click option to export data to excel,but when using this option the data get exported in its own temporary name(iv*****.tmp),i dont want this to happen.Instead the data expored using that option should be written in a file specified by me(everyting should happen in backend)
    pls suggest the best solution for above 2 queries.
    Thanks,
    Selvan.

    Hi selvan,
    1) read the chart history (or better keep a history in your own shift register) and limit the data to the XMin and XMax values (read all those chart settings from its properties). Then save the data using WriteToSpreadsheetFile…
    2) The right-click option is as it is. When you need different behaviour you need to program your own routine. Once you finished query 1 it will be no problem anymore to also solve query 2…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Waveform chart, plot and Dynamics Data and double data

    Hello everyone !
    I would like to get separate plots on the same waveform chart.
    Actually, I am simulating 4 signals (but in reality, it would be signal from sensors) and I would like to get 4 plots.
    In the end, I get 3 plots and no 4 plots.
    It is very strange... Yet, I have selected 'Stack plots' and '4 plots shown'.
    Actually, I can see the last data has been merged with the first one.
    How can I fix that ?
    Thank you !
    Solved!
    Go to Solution.
    Attachments:
    test5.vi ‏105 KB

    I'm not sure how you got into this state but try going into the chart properties (right click front panel chart and click Properties from menu) and under the appearance tab, unclick "stack plots", unclick "Show digital displays(s), hit "OK", then go into properties again and reselect those two boxes and hit okay. It should correct the problem.
    All statements are my opinion and worth every cent you paid for them.
    Tom Whitaker, CLD
    "Give every man thy ear but few thy voice."
    Polonius in Hamlet.

  • Scattered Charts Plots overlay-unclear explanation

    As did other questioners, I want to overlay two scatter plots. I use Numbers '09 on an iMac 10.6.8.
    To make a single scatter plot I have to select two columns of my 9 column table and then select the graph icon and select the scatter plot. I make a plot of columns A and I, and another of columns A and J. Jerrold Green said " it's as easy as selecting your second data set and dragging it into the chart."
    But I cannot seem to do that. I have the A-I chart and then I select columns A and J, but I cannot manage the dragging. Moving the mouse after making the selection just selects more columns. If I just select column J, then I can drag that to the graph, but that produces a cluster of points all lined up vertically, which is clearly wrong. How do I "select my second data set and drag it?"
    Column A is dates, and the other columns are numbers, so I have to use the scatter plot, and I cannot select the three columns to make the plot, that does not work,
    Bruce Shore

    Bruce,
    Make sure that you have selected Share X Values. It's on the Data Range menu in the upper left corner of the highlighted portion of your Table when the Chart is selected. Icon for the menu is a gear.
    Jerry

  • Waveform charts plotting

    I have a data acquisition VI, which acquires two sets of data as x and y values.I have problem plotting them in a waveform chart.I tried bundling them and wiring to the chart, but instead of one plot of x vs y as the data is being acquired, i get to view 2 sets of plots. How to overcome this, so as to plot my x and y values as they are being acquired in a waveform chart.Will someone help.

    > ... y as the data is being acquired, i get to view 2 sets of plots. How to
    > overcome this, so as to plot my x and y values as they are being
    > acquired in a waveform chart.Will someone help.
    If the X values are evenly spaced, then you can encode them as X0 and
    dX, wire these into a cluster with the Y array, and send that to the chart.
    If the values are not evenly spaced, one option is to look at the XY
    chart example in examples/general/graph/charts. The example uses a
    subVI to collect and limit the number of points, the data is then drawn
    using an XY graph.
    Greg McKaskle

  • Web Chart - Plot Total Column as well

    I have a requirement of producing a report that has a date down the side, and then each plant within a country across the top.
    ie
           Plant1    Plant2   Plant3... Total For All Plants
    Date
    date1
    date2
    Using the web charting tool, is it possible to plot the data for each plant, and also the Total for all plants on the same chart? I have found that the total normally doesn't plot on Web reports (which in most cases is good), however I thought there might be a setting that I was missing.
    I am using BW3.5
    Thanks in advance for any assistance.

    Hi Madhukar,
    Yes, I got it in the same chart.
    in the WAD, if you click on the web chart item, and then look at the Web Item tab in the properties section, there is a property called Suppress Sums. Ensure that this is NOT checked, and the totals will be plotted as well as the detail rows.
    Hope this is helpful.
    Regards
    Rich

  • Chart Plot-area layoutBounds - how do you reveal them ?

    How do you return the x/y coordinates of the Plot-Area rectangle from a simple XYChart ? I have tried returning them via the Chart's Plot variable (using the Container layoutBounds variable) but Plot is a 'protected variable' and I'm unable to compile the code as a result.

    It doesn't matter now.  They finally fixed it but the time was far too
    long for me not to have all the service I'm paying for.
    Nevertheless the phone # is <Personal information deleted per the TOS>
    What you really need to resolve is why it is so difficult to report a
    network problem.
    BTW the I posted the ticket number and someone at your end scrubbed it.
    <Personal information such as the phone number and ticket number is not to be posted on the public forum per the Verizon Wireless Terms of Service and should only be shared through a private "Direct Message" (DM for short).>
    Message was edited by: Verizon Moderator

  • Chart plot in the form of decimal numbers

    Hello all,
     I am facing  a severe problem regarding the plot using charts.I am, plotting some data on charts(charts only,plot style will be like impulses) and whatever the data on the charts the corresponding amplitude should be pasted as text on the below picture indicator exactly at the corresponding position.Can anybody give me an idea please?
    Thanks and regards,
    srikrishnaNF
    Attachments:
    finaltest_FP.png ‏4 KB

    Hi smercurio_fc,
       I wonder whether the charts are also having cursors in your labview version.Which version of labview you are using?I am unable to put text on chart and you are talking about the cursors on chart which are  not in my labview version 8.5.Thats why i am using labview picture indicator atleast i could display the value as text on it.Please tell me if you got some other idea.
    Thanks and regards,
    srikrishnaNF

  • Chart Plot Color change programatically

    Hi, 
    May i know that for the graph plot in labview web ui design, can i change the plot color programatically ?

    Hi Ceties,
    There is Corrective Action Request:
    CAR#36683
    Though this is a bug and yet not solved, I prepared an example for you which show possible workaround - it is based on the fact, that the redrawing works correctly when you resize legend. Because this is not possible to do programmatically at ru-time for staced plots, this example uses SubPanel which display SubVI with only waveform chart. I know this is not convenient, but I guess you could use such a approach in order to improve yours customers' experience.
    With kind regards,
    Martin Stefik
    Application Engineer,
    Czech Republic and Slovakia
    Attachments:
    Example.zip ‏22 KB

  • Help with Multi point chart plot hile using the waveform data type..

    Currently I have two channels being transfered into the AI C-Scan block (by means of a build array) in hopes to display the outputs on a chart as well as an output file. As an outout I am using the waveform data type, as I hear this is the way to go. Problem is that I have the the Waveform chart directly connected to the waveform out put the the AI C-SCAN block but nothing is being displayed on the chart. Although the time is updated on the chart it is listed as the year 1903. I do have data these channels as the there are digital outputs for these channels. Perhaps I should use the AI CONFIG and AI READ clocks rather than this AI C-SCAN. Any ideas...

    Christian,
    Please see the Real-Time Chart shipping example for LabVIEW. This example describes how to set the base time of the chart so that the time and date are correct.
    You may want to autoscale the Y-axis as your data may be out of range of your chart and that is why nothing is seen.
    Randy Hoskin
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • Charts: how do I determine when the mouse is in the plot area

    I'm trying to implement logic that will do the following:
    Panning plot within plot display area by clicking and dragging mouse
    If the user clicks and drags in the chart plot area (the region where the chart plot actually displays, not including the axes, legends, titles, etc.), I want to be able to provide the effect of panning the plot (e.g. similar to grabbing and dragging a map in Google maps) within the plot display. This makes the most sense, of course, if the user has zoomed in to some level and the entire plot is no longer fully visible within the display.
    Zooming on a plot
    If the user places the mouse somewhere in the chart plot area and uses their mouse wheel, I want to be able to provide the effect of zooming in and out of the plot. The plot area itself must remain at its original size, just the representation of the plot needs to simulate the effect of being zoomed in or out on.
    Thoughts, suggestions, ...
    To make the zoom and pan effect, my thought was to adjust the axes bounds as appropriate to simulate these effects. The trick for some of what I'm planning on doing is finding out where the mouse is in the plot area (not the whole chart) so that I can find the x,y offsets from the plot origin (which appears to be in the upper left - at the chart level anyway). For panning, I don't think I care what the offset is, just that it's within the plot. For zooming, I may need to know where the mouse is in the plot so that the zooming could be centered on that location in the plot. This makes me think that it would also be helpful to find out how to translate the mouse x,y pixel position to a corresponding x,y value in the plot data domain.
    I've been experimenting with attaching event handlers to detect various mouse actions and what information can be gleaned from these events. So far I have not found anything that allows me to determine the bounds of the plot region in the overall chart. I can get the mouse x,y position, but I don't know where it is in relation to the plot area bounds. I don't want to initiate a pan of a plot if the user happens to drag their mouse somewhere outside the plot area (i.e. over an axis, legend, etc.). Also, it would not make sense to start a zoom on the chart unless the mouse is over the plot.
    Please let me know if this seems to be a reasonable approach, and if not, please suggest any ideas for alternatives. Any help, ideas and suggestions regarding how to solve these issues and/or determine this information would be welcome.

    I experimented a bit and it seems the plot-content is the Group containing, well, the content of the plot. So in a line chart it's the smallest rectangle containing all the lines and the graphic at the data point (little circles, by default). What you probably need instead is the chart-plot-background.
    Here's a quick example of a panning chart. There are probably better ways to manage the mouse dragging (it behaves somewhat badly if you drag out of the plot area and then back in, for example) but it gives you the basic idea. My original idea of adding a mouse directly to the plot area failed as the event doesn't get propagated to the plot region if you click on part of the plot content (a line, for example).
    import java.util.Random;
    import javafx.application.Application;
    import javafx.beans.property.DoubleProperty;
    import javafx.beans.property.SimpleDoubleProperty;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.EventHandler;
    import javafx.geometry.Point2D;
    import javafx.scene.Scene;
    import javafx.scene.chart.LineChart;
    import javafx.scene.chart.NumberAxis;
    import javafx.scene.chart.XYChart.Data;
    import javafx.scene.chart.XYChart.Series;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.BorderPane;
    import javafx.scene.layout.Region;
    import javafx.stage.Stage;
    public class PanningChart extends Application {
      @Override
      public void start(Stage primaryStage) {
        final NumberAxis xaxis = new NumberAxis("x", 0, 10, 1);
        final NumberAxis yaxis = new NumberAxis("y", 0, 100, 10);
        final LineChart<Number, Number> chart = new LineChart<>(xaxis, yaxis);
        chart.setAnimated(false);
        chart.setData(createData());
        final Region plotArea = (Region) chart.lookup(".chart-plot-background");
        final DoubleProperty lastMouseX = new SimpleDoubleProperty();
        final DoubleProperty lastMouseY = new SimpleDoubleProperty();
        chart.setOnMousePressed(new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent event) {
            final double x = event.getX();
            final double y = event.getY();
            if (plotArea.getBoundsInParent().contains(new Point2D(x, y))) {
              lastMouseX.set(x);
              lastMouseY.set(y);
        chart.setOnMouseDragged(new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent event) {
            final double x = event.getX();
            final double y = event.getY();
            if (plotArea.getBoundsInParent().contains(new Point2D(x, y))) {
              moveAxis(xaxis, x, lastMouseX);
              moveAxis(yaxis, y, lastMouseY);
        final BorderPane root = new BorderPane();
        root.setCenter(chart);
        primaryStage.setScene(new Scene(root, 600, 400));
        primaryStage.show();
      private void moveAxis(NumberAxis axis, double mouseLocation,
          DoubleProperty lastMouseLocation) {
        double scale = axis.getScale();
        double delta = (mouseLocation - lastMouseLocation.get()) / scale;
        axis.setLowerBound(axis.getLowerBound() - delta);
        axis.setUpperBound(axis.getUpperBound() - delta);
        lastMouseLocation.set(mouseLocation);
      private ObservableList<Series<Number, Number>> createData() {
        final ObservableList<Data<Number, Number>> data = FXCollections
            .observableArrayList();
        final Random rng = new Random();
        for (int x = 0; x <= 10; x++) {
          data.add(new Data<Number, Number>(x, rng.nextDouble() * 100));
        return FXCollections.singletonObservableList(new Series<Number, Number>(data));
      public static void main(String[] args) {
        launch(args);
    998038 wrote:On a slightly different (but related) subject, where can I find an up-to-date source of information that describes the IDs and class names that JavaFX uses? I assume the ".plot-content" is pertaining to the ID of the chart plot area (or plot "child" of the chart?). Where can I find the names of the various objects that can be "looked up"?I generally try to avoid lookups as they feel a bit fragile. However occasionally there seems to be no other way, as in this case. The [url http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html]CSS reference guide documents the css class substructure of each Node type.

  • My waveform chart is suppose to be with respect to time but I've noticed it is plotted with respect to the number of times through my VI

    I was under the assumption that waveform charts in LabVIEW 6i atomaticly displayed wired data with respect to time in seconds. However, I noticed that my chart plots data with respect to the number of data points my VI has generated. Is there anyway to fix this so that the chart actually plots vs. time. I've attached VI. The CIN is to a Computerboards Inc, thermocouple. Any help would be appreciated.
    Attachments:
    tepTInScan.VI ‏73 KB

    It appears that the chart is set to display relative time but since you don't have the acquisition in any kind of a loop, your relative time is pretty meaningless. You've got the dX of the chart set to be one, so yeah, at the beginning, the x scale numbers are going to be the same as the number of aquisitions until you've run it more than 60 times. At this point, you'll see the x scale show minutes and seconds. If you want absolute time for the x scale, look at the examples Real-Time Chart.vi or Variable-Time Chart XY.vi.

  • Plotting elements from an array in waveform chart

    Hi all,
             I am trying to plot a real time data by extracting single element from an array.
    Problem is that, at some frequencies waveform chart plot perfect while at other frequencies it plots like a undersampled signals.
    Any suggestions?
    Attachments:
    wfm.png ‏136 KB
    wfm.vi ‏133 KB

    The timing information comes from the data acquisition process, not the display. You should be able to get equally good display of timing information on a chart or a graph.
    How many samples do you read at a time? How do you define "realtime"? Anything plotted on a graph or chart for the use of a human operator does not need to be updated more than about 10 times per second because the eye/mind system works at about that time scale. For humans a real time grahical update rate of 2 to 10 Hz is adequate. Then you will have 256 to ~51 new samples at each update.
    Another issue is that both your graph and your plot have plot areas which are less than 200 pixels wide. If you supply more than [plot width] pixels to a graph or chart, LabVIEW will reduce the data to determine which pixels to plot. So your graph with 1000 X-axis values has that reduced to the 184 pixels across the width of the graph. So, regardless of the precision of the data, the "precision" of the display is limited to the number of pixels.
    Lynn

Maybe you are looking for