2009-12-06 82 views
6

Sé que hay muchas comparaciones de bibliotecas de trazado de java, pero no encuentro lo que necesito. Solo quiero un juego de herramientas insensiblemente simple que crea imágenes de diagramas de dispersión a partir de un conjunto de coordenadas. Sin interfaz gráfica de usuario, sin interacción, sin pantalla de fantasía, solo un sistema básico de coordenadas XY con puntos.Java: utilidad de diagrama de dispersión realmente simple

No sería el fin del mundo usar algo que ofrezca mucha más funcionalidad de la que necesito, pero preferiría no hacerlo. ¿Sabes algo como lo que estoy buscando?

+0

debe intentar esto, no es 100% exacto, pero debería hacer el trabajo [simple-scatter-plot] (https://code.google.com/p/ simple-scatter-plot /) – user1406062

Respuesta

2

Es un uso una costumbre JPanel para dibujar sus datos (no probado, pero se entiende la idea ...)

private List<Point2D> data=(...); 

JPanel pane=new JPanel() 
{ 
protected paintComponent(Graphics2D g) 
{ 
super.paintComponent(g); 
int minx=(...),miny=(...),maxx=(...),maxy=(...); 
for(Point2D p: data) 
{ 
int x=((p.getX()-minx)/(maxx-minx))*this.getWidth(); 
int y=((p.getY()-miny)/(maxy-miny))*this.getHeight(); 
g.drawLine(x-5,y,x+5,y); 
g.drawLine(x,y-5,x,y+5); 
} 
} 
pane.setOpaque(true); 
(...) 
anotherComponent.add(pane); 
(...) 
} 
2

Me echó un vistazo a lo que existía, y se dio cuenta de que jcckit es técnicamente bastante bueno, pero sólo le falta un simple envoltorio alrededor de él para que sea fácil de usar.

Así que lo bifurqué e hice una envoltura muy simple. He aquí cómo utilizar:

import static easyjcckit.QuickPlot.*; 

double[] xaxis = new double[]{0,1,2,3,4,5}; 
double[] yvalues = new double[]{0,1,4,9,16,25}; 
scatter(xaxis, yvalues); // create a plot using xaxis and yvalues 
double[] yvalues2 = new double[]{0,1,2,3,4,5}; 
addScatter(xaxis, yvalues2); // create a second plot on top of first 

System.out.println("Press enter to exit"); 
System.in.read(); 

Así como gráficos de dispersión, se puede añadir libremente líneas a los mismos ejes, si usted desea usando 'addPlot' y 'trama'.

Aquí está el código: https://bitbucket.org/hughperkins/easyjcckit

+0

¿Es posible establecer un color diferente en las diferentes parcelas/conjuntos? –

1

También se puede comprobar Simple Java Plot. Ejemplo mínimo (sin opciones):

Plot plot = Plot.plot(null). 
    // setting data 
    series(null, Plot.data(). 
     xy(1, 2). 
     xy(3, 4), null); 
// saving sample_minimal.png 
plot.save("sample_minimal", "png"); 
Cuestiones relacionadas