The only possibility that occurs to me is that the method plot.export(out_image) is getting executed before the last plot.addPoint() is executed. To test this theory, try placing at least plot.export(out_image) in the event thread, using code like this:
Runnable doExport = new Runnable() { public void run() { plot.export(out_image); } }; try { SwingUtilities.invokeLater(doExport); } catch (InterruptedException ex) { // Ignore InterruptedException. // Other exceptions should not occur. } To do this, out_image will have to be declared "final". The reason for this is that add_point's action is deferred to execute in the event thread. It is arguable that probably export() should be as well... Edward At 12:23 PM 7/1/2002 +0200, Luigi Paioro wrote: >Hello to everybody! > >I'm using the PtPlot classes to plot some dynamic charts that are >elaborated by a Java Servlet. I don't know why, but if I plot more time >the same dataset (and also not the same!), my Plot losts some points... >but not always the same number... it seems that the addPoint(...) method >fails over a random number of points added. > >My plot cames from a POST method on my servlet that make a query on a >database and plot the result adding the values of the two columns selected: > >Plot plot = new Plot(); > >plot.setButtons(false); >plot.setConnected(false); >plot.setImpulses(false); >plot.setBars(false); >plot.setMarksStyle("various"); >plot.setBackground(Color.white); > >Statement stmt = null; >ResultSet result = null; > >stmt = Cnn.createStatement(); >result = stmt.executeQuery(sql); > >while (result.next()) { > int i = result.findColumn(fieldx1); > int j = result.findColumn(fieldy1); > String sx = result.getString(i); > String sy = result.getString(j); > double x = (Double.valueOf(sx)).doubleValue(); > double y = (Double.valueOf(sy)).doubleValue(); > plot.addPoint(0, x, y, false); >} > >fieldx1 and fieldy1 come from the HTML form... they are just the column >name, and the sql string is the SQL statement. > >In the end I send an EPS to the browser OutputStream: > >OutputStream out_image = response.getOutputStream(); >response.setContentType("application/postscript"); >plot.export(out_image); > >It's a simple code, but if I run it more times, it losts some points... it >seems that the servlet cannot plot more points than a break point that >variates each time. Note that it is not a SQL trouble: the query works fine! > >What about this? > >Thank, Luigi. > >-- > >Dr. Luigi Paioro > >C.N.R. - I.A.S.F. > >Consiglio Nazionale delle Ricerche > >Istituto di Astrofisica Spaziale e >Fisica Cosmica "G.P.S. Occhialini" > >via Bassini 15, I-20133 Milano, Italy > >e.mail: [EMAIL PROTECTED] >phone: +39 02 23699349 >fax: +39 02 2666017 > > >---------------------------------------------------------------------------- >Posted to the ptolemy-hackers mailing list. Please send administrative >mail for this list to: [EMAIL PROTECTED] ------------ Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal ---------------------------------------------------------------------------- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]