2009-12-06 15 views
6

So che esistono molti confronti tra le librerie di tracciamento Java, ma non trovo ciò di cui ho bisogno. Voglio solo un toolkit incredibilmente semplice che crei immagini di grafici a dispersione da un insieme di coordinate. Nessuna GUI, nessuna interazione, nessuna visualizzazione di fantasia, solo un sistema di coordinate XY di base con punti.Java: Utilità di stampa a dispersione davvero semplice

Non sarebbe la fine del mondo utilizzare qualcosa che offra molte più funzionalità di quelle di cui ho bisogno, ma preferirei non farlo. Sai qualcosa di simile a quello che sto cercando?

+0

si dovrebbe provare questo, non è preciso al 100%, ma dovrebbe fare il lavoro [semplice-scatter-plot] (https://code.google.com/p/ simple-scatter-plot /) – user1406062

risposta

2

È un uso un JPanel personalizzato per disegnare i dati (non testato, ma si ottiene l'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

mi sono guardato intorno a ciò che esisteva, e si rese conto che jcckit è tecnicamente abbastanza buono, ma manca solo un semplice involucro attorno ad esso per rendere più facile da usare.

Quindi l'ho reso un semplice wrapper. Ecco come utilizzare:

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(); 

Così come grafici a dispersione, si può liberamente aggiungere linee agli stessi assi, se si desidera utilizzare 'addPlot' e 'plot'.

Ecco il codice: https://bitbucket.org/hughperkins/easyjcckit

+0

È possibile impostare colori diversi su diversi grafici/set? –

1

Inoltre si potrebbe verificare Simple Java Plot. Esempio minimo (nessuna opzione):

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"); 
Problemi correlati