Ho ottenuto un grafico del genere:


codice:
import java.awt.Dimension;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.time.Hour;
import org.jfree.data.time.Day;
import org.jfree.data.time.RegularTimePeriod;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

 public class InternalFrameDemo extends ApplicationFrame {

    public InternalFrameDemo(final String title) {
        super(title);
        	 final JDesktopPane desktopPane = new JDesktopPane();
        	 desktopPane.setPreferredSize(new Dimension(800, 600));
        	 final JInternalFrame frame = createFrame();
        	 desktopPane.add(frame);
        	 frame.pack();
        	 frame.setLocation(0, 0);
        	 frame.setVisible(true); 
        	 getContentPane().add(desktopPane);
    }
    private JInternalFrame createFrame() {
        final XYDataset dataset1 = createDataset("Series 1",new Day());
    	final JFreeChart chart = ChartFactory.createTimeSeriesChart("Titolo Trend","Tempo","Temperatura",dataset1,true,true,false);
        final ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new Dimension(800, 600));
        
        final JInternalFrame frame = new JInternalFrame("Prove Trend", true);
        frame.getContentPane().add(chartPanel);
        return frame;
    }
    private XYDataset createDataset(final String name,final RegularTimePeriod start) {
    	
        final TimeSeries series = new TimeSeries(name, start.getClass());
    	Connection con = null;
    	RegularTimePeriod period = start;
    	  
        try {
        	String driver = "net.sourceforge.jtds.jdbc.Driver";
        	Class.forName(driver).newInstance();
        	} 
        catch (Exception e) {
        	System.out.println("Fallito il caricamento dei driver SQL.");
        	return (null);
        					}
        try {
        	// Query SQL
        	String SQL= "SELECT * FROM Cella30Trend ";
        	// Connessione col database in cui vengono specificati url, nome utente, password
        	con = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/DbFrigo", "**", "**");
        	Statement select = con.createStatement();
        	//caricamento query SQL
        	ResultSet result = select.executeQuery(SQL);
        	

          		while (result.next()) {

          			String tempo = result.getString(2);
          			double temp_a = result.getDouble(3);
       
          	DateFormat dateformat=new SimpleDateFormat("yyyy/MM/dd HH.mm.ss");
          			java.util.Date data=dateformat.parse(tempo);

          			series.addOrUpdate(new Day(data),temp_a);
          								}
        	} 
        catch (Exception e) {
        	e.printStackTrace();
        					} 
        					finally {
        							if (con != null) {
        												try {
			con.close();										} 										catch (Exception e) {										e.printStackTrace();
        																		}
       									}
        					}				
        final TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(series);

        return dataset;
    }

    public static void main(final String[] args) {
        final InternalFrameDemo demo = new InternalFrameDemo("Trend 1");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);     
    }
}
Solo che vorrei nell'asse delle ordinate che il tempo fosse scandito con un intevallo di 2 ore partendo da 0:00.....in modo che il grafico abbia un filo logico ben preciso.....

Inoltre vorrei che questo trend mi si aprisse in un frame e non come fa adesso....
e poi vorrei generare più righe nello stesso trend con stessa data, ma con valori diversi perchè sono riferiti a rilevamenti diversi: esempio (temp_i e temp_u)

E se possibile a destra nel trend vorrei una parcentuale da 0 a 100%....per capire l'andamento del grafico...

Mi potete dare una mano???

GRAZIE