JFreeChart เป็นไลบรารีคลาสการวาดแผนภูมิแบบเปิดบนแพลตฟอร์ม Java มันถูกเขียนขึ้นอย่างสมบูรณ์ในภาษา Java และออกแบบมาสำหรับแอปพลิเคชันแอปเพล็ตเซอร์เล็ตและ JSP JFreechart สามารถสร้างแผนภูมิวงกลมแผนภูมิแท่งแผนการกระจายอนุกรมเวลาแผนภูมิ Gantt และแผนภูมิอื่น ๆ และสามารถสร้างผลผลิตในรูปแบบ PNG และ JPEG และยังสามารถเชื่อมโยงกับ PDF และ Excel
ตัวอย่างของแผนภูมิบรรทัด
แพ็คเกจ com.sprite.test; นำเข้า Java.io.File; นำเข้า java.io.filenotfoundException; นำเข้า Java.io.FileOutputStream; นำเข้า java.io.ioException; นำเข้า org.jfree.chart.chartfactory; นำเข้า org.jfree.chart.chartutilities; นำเข้า org.jfree.chart.jfreechart; นำเข้า org.jfree.chart.labels.StandardCategoryItemLabelGenerator; นำเข้า org.jfree.chart.plot.categoryplot; นำเข้า org.jfree.chart.plot.plotorientation; นำเข้า org.jfree.chart.renderer.category.lineandshaperenderer; นำเข้า org.jfree.data.category.categoryDataSet; นำเข้า org.jfree.data.general.datasetutilities; // jfreechart แผนภูมิบรรทัด (แผนภูมิบรรทัด) ระดับสาธารณะ testjfreechart {/** * สร้างแผนภูมิบรรทัด jfreechart (แผนภูมิบรรทัด) */โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// ขั้นตอนที่ 1: สร้างหมวดหมู่วัตถุ (เตรียมข้อมูล // ขั้นตอนที่ 2: สร้างวัตถุ JFreeChart ตามชุดข้อมูลและทำการตั้งค่าที่สอดคล้องกัน JFreeChart Freechart = CreateChart (ชุดข้อมูล); // ขั้นตอนที่ 3: เอาต์พุตวัตถุ JFreeChart ไปยังไฟล์, สตรีมเอาต์พุต servlet ฯลฯ SaveAsFile (freechart, "e: //line.jpg", 600, 400); } // บันทึกเป็นไฟล์โมฆะสาธารณะคงที่ saveasfile (แผนภูมิ jfreechart, สตริงเอาท์พุท, น้ำหนัก int, ความสูง int) {fileOutputStream out = null; ลอง {file outfile = ไฟล์ใหม่ (outputPath); if (! outfile.getParentFile (). มีอยู่ ()) {outfile.getParentFile (). mkdirs (); } out = ใหม่ fileOutputStream (outputPath); // บันทึกเป็น png // chartutilities.writechartaspng (ออก, แผนภูมิ, 600, 400); // บันทึกเป็น JPEG Chartutilities.writechartasjpeg (ออก, แผนภูมิ, 600, 400); out.flush (); } catch (filenotfoundException e) {e.printStackTrace (); } catch (ioexception e) {e.printstacktrace (); } ในที่สุด {ถ้า (ออก! = null) {ลอง {out.close (); } catch (ioexception e) {// ไม่ทำอะไรเลย}}}}} // สร้างวัตถุ JFreechart ตามหมวดหมู่ Datataset สาธารณะคงที่ JFreechart createchart (หมวดหมู่หมวดหมู่ DistaryeChartFareCrattARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTART คำนวณโดยชั่วโมง ", // ชื่อเรื่อง" การแบ่งปี ", // categoryaxislabel (แกนหมวดหมู่, แกนนอน, ฉลาก x-axis)" ปริมาณ ", // valueaxislabel (แกนค่า, แกนแนวตั้ง, y-axis legend) categoryDataSet, // // // urls // ใช้ categoryplot เพื่อตั้งค่าพารามิเตอร์ต่างๆ การตั้งค่าต่อไปนี้สามารถละเว้นได้ หมวดหมู่ plot = (categoryplot) jfreechart.getPlot (); // พล็อตความโปร่งใสสีพื้นหลัง SetBackgroundalpha (0.5F); // พล็อตความโปร่งใสสีพื้นหน้า Setforegroundalpha (0.5F); // สำหรับการตั้งค่าอื่น ๆ อ้างถึงหมวดหมู่ Class LineandShaperenderer Renderer = (Nineandshaperenderer) plot.getRenderer (); render.setbaseshapesvisible (จริง); // series point (เช่นจุดข้อมูล) สามารถมองเห็น Renderer.setBaselinesVisible (จริง); // series มีการเชื่อมต่อระหว่างคะแนน (เช่นจุดข้อมูล) และสามารถเห็น renderer.setuseseriesoffset (จริง); // ตั้งค่าออฟเซ็ตเรนเดอร์ SetBaseItemLabelGenerator (ใหม่ StandardCategoryItemLabelGenerator ()); render.setbaseitemlabelsvisible (จริง); กลับ Jfreechart; } / *** สร้างวัตถุหมวดหมู่ DATASET** / Public Static CategoryDatAset CreateDatAset () {String [] rowkeys = {"แพลตฟอร์ม"}; String [] Colkeys = {"0:00", "1:00", "2:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "16:00", "20:00", "21:00", "23:00" double [] [] data = {{4, 3, 1, 1, 1, 1, 2, 2, 2, 1, 8, 2, 1, 1},}; // หรือใช้รหัสคล้ายกับ // defaultCategoryDatAset ต่อไปนี้ categoryDataset = new // defaultCategoryDataset (); // CategoryDataset.addValue (10, "Rowkey", "Colkey"); คืนข้อมูล DataStutilities.CreateCategoryDataSet (Rowkeys, Colkeys, Data); -สร้างการเรนเดอร์:
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น