Necesito please alguien que me pueda sugerir un API para realizar una grafica 2D en JAVA, tengo los datos en dos arrays y necesito su grafica continua
Esto deberia ir en programacion...
Mirate la clase Canvas,se usa para lo k necesitas.
Unos ejemplillos... te recomiendo que utilices la API de Java2D, pero tienes que buscar primero algo de info en google porque sino que chiste.
Cita de: Casidiablo en 29 Diciembre 2005, 18:42 PM
Gráficos y Java2D
En esta sección de tratan los contextos y objetos gráficos; el dibujo de cadenas, caracteres y bytes; el control de color y tipo de letra; la manipulación de la pantallas, los modos de pantalla y el dibujo de líneas, rectángulos, rectángulos redondeados, rectángulos tridimensionales, óvalos, arcos y polígonos. Se presenta la API de Java2D, la cual ofrece poderosas herramientas para gráficos.
- Demostración de los colores en Java (http://casidiablo.orgfree.com/codigos/Java/tema9/MostrarColores.zip)
- Seleccionar colores con JColorChooser (http://casidiablo.orgfree.com/codigos/Java/tema9/MostrarColores2.zip)
- Uso de los tipos de letra (Font) (http://casidiablo.orgfree.com/codigos/Java/tema9/TiposDeLetra.zip)
- Métodos de FontMetrics y Graphics útiles para obtener métrica de un tipo de letra (http://casidiablo.orgfree.com/codigos/Java/tema9/Metrica.zip)
- Dibujo de Líneas, rectángulos y óvalos (drawLine, drawRect, drawRoundRect, drawOval) (http://casidiablo.orgfree.com/codigos/Java/tema9/LineasRectsOvalos.zip)
- Dibujo de arcos (drawArc) (http://casidiablo.orgfree.com/codigos/Java/tema9/DibujarArcos.zip)
- Dibujo de Polígonos (Polygon, drawPolygon, drawPolyLine) (http://casidiablo.orgfree.com/codigos/Java/tema9/DibujarPoligonos.zip)
- Demostración de algunas figuras de Java2D (http://casidiablo.orgfree.com/codigos/Java/tema9/Figuras.zip)
- Demostración de una ruta general (GeneralPath) (http://casidiablo.orgfree.com/codigos/Java/tema9/Figuras2.zip)
El siguiente ejemplo muestra una grafica a partir de los valores que ingresa el usuario, seguramente te será muy fácil adaptarlo a lo que necesitas ::).
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Ejercicio_12_30 extends Applet implements ActionListener
{
private static final long serialVersionUID = 1L;
Image dobleBuffer;
Graphics miCG;
TextField n1Campo,n2Campo,n3Campo,n4Campo;
Label title,n1;
Button btnAceptar = new Button ();
FlowLayout flowLayout1 = new FlowLayout ();
public void init ()
{
title = new Label ("Introduce valores entre 0 y 100");
add (title);
n1Campo = new TextField (1);
add (n1Campo);
n2Campo = new TextField (1);
add (n2Campo);
n3Campo = new TextField (1);
add (n3Campo);
n4Campo = new TextField (1);
add (n4Campo);
btnAceptar.setLabel ("Graficar");
btnAceptar.addActionListener (this);
flowLayout1.setHgap (25);
this.setLayout (flowLayout1);
add (btnAceptar); // Inicializa el doble buffer
dobleBuffer = createImage (700, 500);
miCG = dobleBuffer.getGraphics ();
resize (700, 500);
}
public void actionPerformed (ActionEvent ev)
{
//Limpia la pantalla
miCG.clearRect (0, 0, 700, 500);
Trazar (n1Campo.getText(),n2Campo.getText(),n3Campo.getText(),n4Campo.getText());
titulo ();
// Ahora muestra la imagen de golpe
repaint ();
}
public void update (Graphics g)
{
paint (g);
}
public void Trazar (String n1Campo,String n2Campo,String n3Campo,String n4Campo)
{
int cordy1,cordy2,cordy3,cordy4;
cordy1 = Integer.parseInt (n1Campo);
cordy2 = Integer.parseInt (n2Campo);
cordy3 = Integer.parseInt (n3Campo);
cordy4 = Integer.parseInt (n4Campo);
barras ( cordy1,cordy2,cordy3,cordy4);
}
public void paint (Graphics g)
{
// Lo se tiene que presentar la imagen del buffer
g.drawImage (dobleBuffer, 0, 0, this);
}
public void barras (int y1,int y2,int y3,int y4)
{
miCG.setColor (Color.blue);
miCG.fillRect (60, 400-y1, 65, y1);
miCG.setColor (Color.black);
miCG.setFont (new Font ("Arial", Font.BOLD, 12));
miCG.drawString (y1+"%", 63, 400-y1-20);
miCG.setColor (Color.green);
miCG.fillRect (160, 400-y2, 65, y2);
miCG.setColor (Color.black);
miCG.setFont (new Font ("Arial", Font.BOLD, 12));
miCG.drawString (y2+"%", 163, 400-y2-20);
miCG.setColor (Color.red);
miCG.fillRect (260, 400-y3, 65, y3);
miCG.setColor (Color.black);
miCG.setFont (new Font ("Arial", Font.BOLD, 12));
miCG.drawString (y3+"%", 263, 400-y3-20);
miCG.setColor (Color.magenta);
miCG.fillRect (360, 400-y4, 65, y4);
miCG.setColor (Color.black);
miCG.setFont (new Font ("Arial", Font.BOLD, 12));
miCG.drawString (y4+"%", 363, 400-y4-20);
}
public void titulo ()
{
miCG.setColor (Color.red);
miCG.setFont (new Font ("Arial", Font.BOLD, 18));
miCG.drawString ("Grafica de barras", 15, 100);
}
}
Estaba necesitando algo parecido XD.. ;D