Dieser Artikel teilt den spezifischen Code des Jfreechart Dynamic Line -Diagramms für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Zeichnen Sie jede Sekunde einmal und zeichnen Sie nach einer Minute erneut
Die erforderlichen JAR-Pakete sind: gnujaxp.jar, jcommon-1.0.16.jar, jfreechart-1.0.13.jar
public class jfreezhexiantest {public static xyseries xycpuseries = new Xyseries ("CPU"); öffentliche statische int Hunderte = 0; public static jfreechart jfreechart = null; public jpanel getCpujfreechart () {jfreechart = chartfactory.createxylinechart (null, null, null, createdataset1 (), plotorient.vertical, falsch, wahr, falsch); StandardChartTHEME mChartTHEME = New StandardChartTHEME ("CN"); mChartTheM.SetLargeFont (neue Schriftart ("BOLD", FONT.BOLD, 20)); mChartTheM.SetExtrArargeFont (neue Schriftart ("Zongyi", font.plain, 15)); mChartTheM.SetRegularFont (neue Schriftart ("Zongyi", font.plain, 15)); ChartFactory.setchartTHEME (mChartTheMe); jfreechart.setBorderPaint (neue Farbe (0,204,205)); jfreechart.setBorderVisible (true); XYPLOT XYPLOT = (XYPLOT) JFRECHART.getPlot (); // y-axis numberAxis numberAxis = (numberAxis) xyplot.getRangeAXIS (); NumberAxis.SetlowerBound (0); NumberAxis.Setupperbound (100); NumberAxis.Settickunit (neue NumberTickunit (100D)); // Es werden nur Ganzzahlwerte angezeigt. // numberAxis.setAutorangeIncludeszero (true); NumberAxis.Setlowermargin (0); // unter der Datenachse (links) Margin NumberAxis.SetMinortickmarkssible (False); // Ob die Markierungslinie numberAxis.settickmarkinsidelength (0) angezeigt wird; // innere Länge der äußeren Tick Mark NumberAxis. // Design der x-achse nummeraxis x = (numberAxis) xyplot.getDomainaxis (); X.SetAutorange (True); // Setzen Sie den Datenbereich der Datenachse automatisch. X.Settickunit (neue NumberTickunit (60D)); // Setzen Sie den maximalen Anzeigwert und den minimalen Anzeigewert X.SetlowerBound (0); X.Setupperbound (60); // Datenbezeichnung der Datenachse: Zeigen Sie nur die Ganzzahl -Beschriftung X.SetStandardTickunits an (NumberAxis.CreateinTernertickunits ()); X.SetaxisLinevissible (true); // ob die vertikale Zeile x-achse x.settickmarkssible (false) anzeigt; // Ob die Markierungslinie Rechteckleinsets Offset = neue Rechteckeinsets (0, 0, 0, 0) anzeigt; xyplot.setaxisOffset (Offset); // Der Abstand zwischen der Achse und dem Datenbereich XYPLOT.Setbackgroundalpha (0.0f); // Entfernen Sie die Hintergrundfarbe des Balkendiagramms XYPLOT.SETOUTLINEPAINT (NULL); // Entfernen Sie die Grenze // ChartPanel ChartPanel = New ChartPanel (JfreechArt); // ChartPanel.RestoreAutodomainBounds (); // setze das X-Axis-ChartPanel-ChartPanel = new ChartPanel (jfreechart, true) zurück; Rückgabe -ChartPanel; } / ** * Diese Methode ist das Design von Daten * * @return * / public static xydataset erstellteataset1 () {xySerieScollection xySerieScollection = new XySerieScollection (); XySerieScollection.AddSeries (xycpuseeries); Return XyserieScollection; } / *** zufällig generierte Daten* / public static void dynamicrun () {int i = 0; while (true) {double faktor = math.random ()*100; Hunderte = (int) Faktor; jfreechart.settitle ("Die Größe der CPU ist:"+hundroud+"%"); jfreechart.gettitle (). setfont (neue Schriftart ("microsoft yahei", 0, 16); // Setzen Sie die Title -Schriftart xycpuseries.add (i, faktor); try {thread.currentThread (); Thread.sleep (1000); } catch (interruptedException e) {e.printstacktrace (); } i ++; if (i == 60) {i = 0; xycpuseries.delete (0, 59); weitermachen; }}} public static void main (String [] args) {jfreezhexiantest jz = new Jfreezhexiantest (); JFrame Fram = new Jframe (); Frame.Setsize (700, 500); Frame.GetContentPane (). add (jz.getCpujfreechart (), borderLayout.Center); Frame.SetVisible (True); Frame.SetLocationRelativeto (NULL); // Das Fenster befindet sich in der Mitte des Bildschirmrahmens. dynamicrun (); }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.