elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  creacion de graficos estadisticos en tiempo real
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: creacion de graficos estadisticos en tiempo real  (Leído 5,348 veces)
sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
creacion de graficos estadisticos en tiempo real
« en: 30 Mayo 2013, 18:52 pm »

este código es genial y se ve muy bien me permite crear gráficos estadísticos en tiempo real es muy util para hacer monitoreos

porfavor respondan aunquesea para insultar pero no me ignoren

Código
  1.  
  2. import java.awt.BorderLayout;
  3.  
  4.  
  5. import org.jfree.chart.ChartFactory;
  6. import org.jfree.chart.ChartPanel;
  7. import org.jfree.chart.JFreeChart;
  8. import org.jfree.data.time.Second;
  9. import org.jfree.data.time.DynamicTimeSeriesCollection;
  10.  
  11. import java.awt.Component;
  12. import java.awt.Container;
  13. import java.awt.Dimension;
  14. import java.awt.LayoutManager;
  15. import java.awt.event.ActionEvent;
  16. import java.awt.event.ActionListener;
  17. import java.sql.Time;
  18. import java.util.Random;
  19.  
  20. import javax.swing.JFrame;
  21. import javax.swing.JPanel;
  22. import javax.swing.Timer;
  23.  
  24. public class FormularioPrincipal extends JFrame {
  25.  
  26. public FormularioPrincipal() {
  27.  
  28. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29. setLayout(new BorderLayout());
  30. add(new PanelGraphicaEnTiempoReal());
  31. }
  32.  
  33. public static void main(String[] args) {
  34. FormularioPrincipal frmPrincipal = new FormularioPrincipal();
  35. frmPrincipal.setVisible(true);
  36. }
  37.  
  38. private static class PanelGraphicaEnTiempoReal extends JPanel implements ActionListener {
  39.  
  40. private DynamicTimeSeriesCollection contenidoSerieDinamica;
  41. private JFreeChart graphicaDeTiempo;
  42. private Timer cronometro;
  43. private Random generadorDeAleatorios;
  44.  
  45. private int segundo;
  46. private int minuto;
  47. private int hora;
  48. private int dia;
  49. private int mes;
  50. private int año;
  51. private int indiceSerie;
  52. private String nombreDeLaSerie;
  53.  
  54.  
  55.  
  56. public PanelGraphicaEnTiempoReal() {
  57.  
  58. generadorDeAleatorios=new Random();
  59. cronometro=new Timer(200,this);
  60.  
  61.  
  62. contenidoSerieDinamica = new DynamicTimeSeriesCollection(
  63. getCantidadDeSeries(),
  64. getCantidadPorSerie(),
  65. enSegundos());//crea el contenido de la serie dinamica
  66.  
  67. contenidoSerieDinamica.setTimeBase(new Second(segundo=0,minuto=0,hora=0,dia=1,mes=1,año=2013));//pone el primer instante
  68. contenidoSerieDinamica.addSeries(valoresDeLaSerie(), indiceSerie=0,nombreDeLaSerie="ventas");//agrega una serie
  69.  
  70. graphicaDeTiempo = ChartFactory.createTimeSeriesChart(
  71. getTitulo(),
  72. getEtiquetaDelasX(),
  73. getEtiquetaDelasY(),
  74. contenidoSerieDinamica,
  75. tieneLeyenda(),
  76. tienToolTip(),
  77. tineUrl());//crea una grafica de tiempo
  78.  
  79. ChartPanel panelDeLaGraphica = new ChartPanel(graphicaDeTiempo);//crea un panel para graficas
  80.  
  81.  
  82. add(panelDeLaGraphica);
  83.  
  84. cronometro.start();
  85. }
  86.  
  87. private float[] valoresDeLaSerie() {
  88. float[] respuesta = new float[getCantidadPorSerie()];
  89. Random creadorDeAleatorios = new Random();
  90. for (int i = 0; i < respuesta.length; i++) {
  91. respuesta[i]=creadorDeAleatorios.nextFloat();//crea un aleatorio;
  92. }
  93. return respuesta;
  94. }
  95.  
  96. @Override
  97. public void actionPerformed(ActionEvent e) {
  98. contenidoSerieDinamica.advanceTime();//avansa el tiempo
  99. contenidoSerieDinamica.appendData(new float[]{generadorDeAleatorios.nextFloat()});//agrega un aleatorio
  100. }
  101.  
  102. private boolean tineUrl() {
  103. return false;
  104. }
  105.  
  106. private boolean tienToolTip() {
  107. return true;
  108. }
  109.  
  110. private boolean tieneLeyenda() {
  111. return true;
  112. }
  113.  
  114. private String getEtiquetaDelasY() {
  115.  
  116. return "ventas";
  117. }
  118.  
  119. private String getEtiquetaDelasX() {
  120. return "hh:mm:ss";
  121. }
  122.  
  123. public String getTitulo() {
  124.  
  125. return "ventas";
  126. }
  127.  
  128. private Second enSegundos() {
  129. return new Second();
  130. }
  131.  
  132. public int getCantidadPorSerie() {
  133.  
  134. return 120;
  135. }
  136.  
  137. public int getCantidadDeSeries() {
  138. return 1;
  139. }
  140.  
  141.  
  142. }
  143.  
  144. }
  145.  


« Última modificación: 30 Mayo 2013, 18:55 pm por sapito169 » En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: creacion de graficos estadisticos en tiempo real
« Respuesta #1 en: 30 Mayo 2013, 21:39 pm »

Pequeña aclaración. Para compilar el código necesitan de las librerías JFree, que las pueden encontrar aquí: http://www.jfree.org/jfreechart/download.html y aquí: http://www.jfree.org/jfreechart/api/javadoc/index.html pueden ver la documentación.


En línea

compuchiqui

Desconectado Desconectado

Mensajes: 61



Ver Perfil WWW
Re: creacion de graficos estadisticos en tiempo real
« Respuesta #2 en: 19 Noviembre 2015, 04:47 am »

Excelente Post! Felicidades
En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: creacion de graficos estadisticos en tiempo real
« Respuesta #3 en: 19 Noviembre 2015, 11:04 am »

sapito,,,y algun grafico estadistico en java pero orientado a web? se podria? ejemplosss? ??

o faltaria usar algun framework ? como vaadin o spring?  ;D
En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Graficos estadisticos
Programación Visual Basic
Cybernauta0710 3 6,142 Último mensaje 6 Julio 2008, 06:19 am
por ‭‭‭‭jackl007
Crytek espera que en 5 años los gráficos en tiempo real alcancen los del cine
Noticias
wolfbcn 0 1,407 Último mensaje 26 Septiembre 2010, 01:51 am
por wolfbcn
Ayuda Graficos estadisticos!(JpGraph )
PHP
COD3DZ3R0 1 2,423 Último mensaje 12 Octubre 2012, 05:23 am
por COD3DZ3R0
[Resuelto] Mejor librería para dibujar gráficos estadísticos?
PHP
alex#00 2 2,581 Último mensaje 8 Mayo 2015, 09:12 am
por alex#00
[C++] Graficos estadisticos
Programación C/C++
mauricio90 0 2,069 Último mensaje 14 Junio 2015, 07:25 am
por mauricio90
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines