|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[java] Disegnare un semplice grafico
Ragazzi, il grafico che devo disegnare è questo:
strategia | * | * | * | |__________________numero partite mi dite come faccio ad implementarlo, magari mettendo pure i nomi e le spaziature sugli assi??? GRAZIE
__________________
My gaming placement |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Oppure si può seguire la strada "fai da te": estendi JComponent, fai l'override del metodo paintComponent e disegni tu il grafico usando le API di Java2D.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Ecco un esempio di utilizzo di JFreeChart per realizzare un grafico "a pallini":
Codice:
import java.awt.*;
import java.awt.geom.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.xy.*;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class GraficoPunti extends ApplicationFrame
{
public GraficoPunti (String title, double[][] punti)
{
super (title);
//---- Creazione dataset ----
XYSeries series1 = new XYSeries ("Serie 1");
for (int i = 0; i < punti.length; i++)
series1.add (punti[i][0], punti[i][1]);
XYSeriesCollection dataset = new XYSeriesCollection ();
dataset.addSeries (series1);
//---- Creazione grafico ----
JFreeChart chart = ChartFactory.createScatterPlot (
"Titolo del grafico",
"Asse X",
"Asse Y",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
XYPlot plot = (XYPlot) chart.getPlot ();
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer (false, true);
renderer.setDrawOutlines (false);
renderer.setUseFillPaint (true);
renderer.setFillPaint (Color.blue);
renderer.setShape (new Ellipse2D.Double (-5, -5, 10, 10));
plot.setRenderer (renderer);
//---- Gestione layout ----
ChartPanel chartPanel = new ChartPanel (chart);
chartPanel.setPreferredSize (new Dimension (500, 300));
setContentPane (chartPanel);
}
public static void main (String[] args)
{
double[][] punti = { {1.0,5.0}, {2.0,10.0}, {3.0,7.0}, {4.0,9.0} };
GraficoPunti grafico = new GraficoPunti ("TITOLO", punti);
grafico.pack ();
RefineryUtilities.centerFrameOnScreen (grafico);
grafico.setVisible (true);
}
}
![]() Diciture di testo, colori, dimensioni, ecc... sono facilmente configurabili nel sorgente.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
ok, grazie mille, appena possibile provo e vedo se mi crea problemi.
p.s. per implementare la libreria, basta che la metto nello stesso package??? oppure, per evitare problemi la metto nella classe di java????
__________________
My gaming placement |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
- jfreechart-X.X.X.jar - jcommon-X.X.X.jar
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:17.




















