![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 24.02.2005
Beiträge: 29
|
Erstmal Hallo, ich bin neu in dem Forum und beschäftige mich erst seit kurzem mit Java. Ich hatte schon einigen Kontakt mit anderen Sprachen, wurde aber jetzt "gezwungen" Projekte in Java zu schreiben. Meine Entwicklungsumgebung ist Eclipse (wie wohl bei den meisten Doch nun zu meiner Frage bezüglich der Komponente JFreeChart: Ich möchte mir ein einfaches xy Diagramm zeichnen. Ich habe schon mehtfach herumpropiert. Dabei habe ich aber max die Demo zum laufen gebracht... Hat irgendjemand Erfahrung der mal einen Codeschnipsel posten könnte? (Wenn es geht richtig einfach für den Anfänger) Vielen Dank im Voraus... |
| | |
| | Nach oben #2 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Hallo, willkommen im Forum Ich weiß leider nicht, was wir Dir anderes als eine weitere Demo geben können .. Eventuell hilft Dir hier der Schnipsel weiter? --> http://tools.devchannel.org/devtools.../1634222.shtml Ist so eine Art Mini-Tutorial. Grüße Ben. |
| | |
| | Nach oben #3 |
| Neuer Benutzer Registriert seit: 24.02.2005
Beiträge: 29
|
Vielen Dank Ben das ist ein guter Link ich hab das gleich getestet. Ich hab dabei nur das Problem (nach einfügen des Code) das ich vom Jfreechart einen Fehler bekomme. Ich als blutigster Anfänger kann das natürlich nicht nachvollziehn.... Aber vielen Dank für die Superschnelle Antwort! Ich werde heute mal weiter damit rumprobieren und das Ergebniss posten, wenn es klappt. |
| | |
| | Nach oben #7 |
| Gast
Beiträge: n/a
|
hier mal ein beispiel von mir: Code: public Vector createXYAreaChart(HashMap _sendings, Vector _orders)
{
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.GERMANY);
final TimeSeries series1 = new TimeSeries("Anrufe", Day.class);
for (int i = 0; i < calls.size(); i++)
{
try
{
int wert = i;
String date_1 = "2005-01-01"
int year_1 = new Integer(date_1.substring(0, 4)).intValue();
int month_1 = new Integer(date_1.substring(5, 7)).intValue();
int day_1 = new Integer(date_1.substring(8, 10)).intValue();
series1.add(new Day(day_1, month_1, year_1), new Integer(wert));
}
catch (Exception e)
{
e.printStackTrace();
}
} //for
TimeSeriesCollection dataset_calls = new TimeSeriesCollection();
dataset_all.addSeries(series1);
dataset_all.setDomainIsPointsInTime(true);
final JFreeChart chart_all = createTimeChart(dataset_all);
Vector charts = new Vector(1);
try
{
GregorianCalendar timestamp = new GregorianCalendar(TimeZone.getTimeZone("ECT"));
String filename = "area_" + timestamp.getTimeInMillis();
ChartUtilities.saveChartAsPNG(new File("C:\\" + filename + "_all.png"), chart_all, 400, 300);
charts.add("/resources/" + filename + "_all.png");
return charts;
}
catch (java.io.IOException exc)
{
System.err.println("Error writing image to file");
return null;
}
}
private JFreeChart createTimeChart(final XYDataset dataset)
{
final JFreeChart chart = ChartFactory.createTimeSeriesChart(
"",
"Datum", "Anrufe",
dataset,
true,
true,
false
);
chart.setBackgroundPaint(Color.white);
final StandardLegend sl = (StandardLegend) chart.getLegend();
sl.setDisplaySeriesShapes(true);
final XYPlot plot = chart.getXYPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));
plot.setDomainCrosshairVisible(true);
plot.setRangeCrosshairVisible(true);
final XYItemRenderer renderer = plot.getRenderer();
if (renderer instanceof StandardXYItemRenderer)
{
final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
rr.setPlotShapes(false);
rr.setShapesFilled(false);
rr.setItemLabelsVisible(true);
}
final DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yyyy"));
return chart;
}
|
|
| | Nach oben #8 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Die PDF-Datei gibt es per eMail. [EDIT] Die PDF-Datei ist mir leider abhanden gekommen. Geändert von Ben (10.01.2007 um 11:49 Uhr). |
| | |
| | Nach oben #9 |
| Neuer Benutzer Registriert seit: 24.02.2005
Beiträge: 29
| Code: /*
* Created on 24.02.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package MeinPacket;
import java.util.Random;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.*;
/**
* @author
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class DiagrammDraw {
public static void main(String[] args) {
int Zahl=0;
int jahr=1999;
Random rand=new Random(); //Zufallswerte mit Random aus Util
XYSeries punkte = new XYSeries("Umsatz");
for (int i = 0;i<=10;i++){
Zahl=rand.nextInt(100);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
punkte.add(jahr++,Zahl);
System.out.println(Zahl);
}
XYDataset datenreihe = new XYSeriesCollection (punkte);
JFreeChart chart = ChartFactory.createXYAreaChart("Jahre","Umsätze","Millionen",datenreihe,
org.jfree.chart.plot.PlotOrientation.VERTICAL,true,false,false);
try {
ChartUtilities.saveChartAsJPEG(new java.io.File("TheFuture.jpg"), chart, 500, 300);
} catch (java.io.IOException exc) {
System.err.println("Error writing image to file");
}
}
}
java.lang.NoClassDefFoundError: org/jfree/util/PublicCloneable at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknow n Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at org.jfree.data.xy.XYSeriesCollection.<init>(XYSeri esCollection.java:85) at MeinPacket.DiagrammDraw.main(DiagrammDraw.java:41) Exception in thread "main" Ich weiss es nicht... das Ist 90% an Ben´s Link orientiert...Habt ihr ne Idee? |
| | |
| | Nach oben #14 | |
| Neuer Benutzer Registriert seit: 24.02.2005
Beiträge: 29
| Zitat:
| |
| | |
| | Nach oben #18 |
| Neuer Benutzer Registriert seit: 24.02.2005
Beiträge: 29
|
also ich hab jFree 0.9.21 da funtzt dat nicht so ich hab mal dein Bsp nachvollzogen da geht s nicht so liegt irgendwie an der Zeile: " serie1.add(new Day(1,1,2003),33); " > wird irgenwie nicht richtig referenziert... |
| | |
| | Nach oben #19 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.110
|
Ohne irgendwo nachgesehen zu haben: Ersetze mal "Day" durch "Date".
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #20 |
| Neuer Benutzer Registriert seit: 24.02.2005
Beiträge: 29
|
Ja danke das werde ich probieren klingt plausibel. Vielen Dank für Euere Inspiration. -gutes Forum- Ich bleib an der Sache dran und werde erfolg (oder auch nicht) gleich melden! Ich poste z.Z. so sporadisch weil ich leider daheim nur mit ISDN ins Netz komme und da ist alles soooo langsam. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Ein eigenes Templatesystem schreiben | Corvin | Tutorials | 42 | 19.03.2008 17:58 |
| xss lücke am konkreten Beispiel | DerMalle | JavaScript und AJAX | 5 | 28.02.2007 23:29 |
| Beispiel OOP und VisualBasic | mano | Sonstige Programmiersprachen | 5 | 31.10.2006 18:35 |
| [PHP] PDF erstellen - ganz einfaches, schlichtes Beispiel | Jann Hendrik | Tutorials | 4 | 24.11.2005 12:44 |
| GESUCHT:simples beispiel zum thema resultset, tablemodel => in einer JTable ausgeben! | bamboocha | Desktop-Applikationen und Grafik | 2 | 06.06.2005 21:34 |