Advertisement
Guest User

Untitled

a guest
Jun 6th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.text.SimpleDateFormat;
  3. import javax.swing.JPanel;
  4. import org.jfree.chart.ChartFactory;
  5. import org.jfree.chart.ChartPanel;
  6. import org.jfree.chart.JFreeChart;
  7. import org.jfree.chart.axis.DateAxis;
  8. import org.jfree.chart.plot.XYPlot;
  9. import org.jfree.chart.renderer.xy.XYItemRenderer;
  10. import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
  11. import org.jfree.data.time.Day;
  12. import org.jfree.data.time.Millisecond;
  13. import org.jfree.data.time.Month;
  14. import org.jfree.data.time.RegularTimePeriod;
  15. import org.jfree.data.time.TimeSeries;
  16. import org.jfree.data.time.TimeSeriesCollection;
  17. import org.jfree.data.xy.XYDataset;
  18. import org.jfree.ui.ApplicationFrame;
  19. import org.jfree.ui.RectangleInsets;
  20. import org.jfree.ui.RefineryUtilities;
  21. //Part of my sql code
  22. import java.sql.*;
  23. import java.text.SimpleDateFormat;
  24.  
  25. public class Graph1 extends ApplicationFrame {
  26. @SuppressWarnings("deprecation")
  27. static TimeSeries s1 = new TimeSeries("Value", Month.class);
  28. public Graph1(String title) {
  29. super(title);
  30. XYDataset dataset = createDataset();
  31. JFreeChart chart = createChart(dataset);
  32. ChartPanel chartPanel = new ChartPanel(chart);
  33. chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
  34. chartPanel.setMouseZoomable(true, false);
  35. setContentPane(chartPanel);
  36. }
  37.  
  38. private static JFreeChart createChart(XYDataset dataset) {
  39. JFreeChart chart = ChartFactory.createTimeSeriesChart(
  40. "Sensor Data Values", // title
  41. "Time", // x-axis label
  42. "Value", // y-axis label
  43. dataset, // data
  44. true, // create legend?
  45. true, // generate tooltips
  46. false // generate URLs?
  47. );
  48.  
  49. chart.setBackgroundPaint(Color.white);
  50. XYPlot plot = (XYPlot) chart.getPlot();
  51. plot.setBackgroundPaint(Color.lightGray);
  52. plot.setDomainGridlinePaint(Color.white);
  53. plot.setRangeGridlinePaint(Color.white);
  54. plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
  55. plot.setDomainCrosshairVisible(true);
  56. plot.setRangeCrosshairVisible(true);
  57. XYItemRenderer r = plot.getRenderer();
  58. if (r instanceof XYLineAndShapeRenderer) {
  59. XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
  60. renderer.setBaseShapesVisible(true);
  61. renderer.setBaseShapesFilled(true);
  62. }
  63. DateAxis axis = (DateAxis)plot.getDomainAxis();
  64. axis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yyyy HH-mm-ss"));
  65. return chart;
  66. }
  67.  
  68. private static XYDataset createDataset()
  69. {
  70. Connection conn = null;
  71. Statement stmt = null;
  72. try
  73. {
  74. Class.forName("com.mysql.jdbc.Driver");
  75. conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/agriculture","root","root");
  76. stmt = conn.createStatement();
  77. String sql;
  78. sql = "select date_time,data_value from sensor_data order by date_time desc limit 10";
  79. ResultSet rs = stmt.executeQuery(sql);
  80.  
  81. while(rs.next())
  82. {
  83. Timestamp now = rs.getTimestamp("date_time");
  84. double value = rs.getInt("data_value");
  85. //SimpleDateFormat df = new SimpleDateFormat("YYYY.MM.dd HH:mm:ss");
  86. //String s = df.format(now);
  87. //System.out.print("Time: " + s);
  88. //System.out.print(", Value: " + value + "n");
  89. s1.add(new Millisecond(now), value);
  90. }
  91. rs.close();
  92. stmt.close();
  93. conn.close();
  94. }
  95. catch(SQLException se)
  96. {
  97. se.printStackTrace();
  98. }
  99. catch(Exception e)
  100. {
  101. e.printStackTrace();
  102. }
  103. finally
  104. {
  105. try
  106. {
  107. if(stmt!=null)
  108. stmt.close();
  109. }
  110. catch(SQLException se2)
  111. {
  112. }
  113. try
  114. {
  115. if(conn!=null)
  116. conn.close();
  117. }
  118. catch(SQLException se)
  119. {
  120. se.printStackTrace();
  121. }//end finally try
  122. }//end try
  123. TimeSeriesCollection dataset = new TimeSeriesCollection();
  124. dataset.addSeries(s1);
  125. //dataset.setDomainIsPointsInTime(true);
  126. return dataset;
  127. }
  128.  
  129. public static JPanel createDemoPanel()
  130. {
  131. JFreeChart chart = createChart(createDataset());
  132. return new ChartPanel(chart);
  133. }
  134.  
  135. public static void main(String[] args) {
  136. Graph1 demo = new Graph1("Time Series Demo 1");
  137. demo.pack();
  138. RefineryUtilities.centerFrameOnScreen(demo);
  139. demo.setVisible(true);
  140. }
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement