JavaFX - แผนภูมิ

โดยทั่วไปแผนภูมิคือการแสดงข้อมูลแบบกราฟิก มีแผนภูมิหลายประเภทเพื่อแสดงข้อมูลเช่นBar Chart, Pie Chart, Line Chart, Scatter Chart, เป็นต้น

JavaFX ให้การสนับสนุนสำหรับไฟล์ Pie Charts และ XY Charts. แผนภูมิที่แสดงบนระนาบ XY ได้แก่AreaChart, BarChart, BubbleChart, LineChart, ScatterChart, StackedAreaChart, StackedBarChart, เป็นต้น

แต่ละแผนภูมิแสดงโดยคลาสและแผนภูมิทั้งหมดนี้เป็นของแพ็กเกจ javafx.scene.chart. ชั้นเรียนชื่อChart เป็นคลาสฐานของแผนภูมิทั้งหมดใน JavaFX และ XYChart เป็นคลาสฐานของแผนภูมิทั้งหมดที่วาดบนระนาบ XY

การสร้างแผนภูมิ

ในการสร้างแผนภูมิคุณต้อง -

  • กำหนดแกนของแผนภูมิ
  • เพิ่มระดับชั้นเรียนตามลำดับ
  • จัดเตรียมและส่งข้อมูลไปยังแผนภูมิ

การสร้างอินสแตนซ์คลาสที่เกี่ยวข้อง

ในการสร้างแผนภูมิให้สร้างอินสแตนซ์คลาสตามลำดับ ตัวอย่างเช่นหากคุณต้องการสร้างแผนภูมิเส้นคุณต้องสร้างอินสแตนซ์ของคลาสที่มีชื่อว่าLine ดังต่อไปนี้ -

LineChart linechart = new LineChart(xAxis, yAxis);

ตามที่สังเกตในโค้ดด้านบนในขณะที่สร้างอินสแตนซ์คุณต้องส่งผ่านวัตถุสองชิ้นที่แทนแกน X และ Y ของแผนภูมิตามลำดับ

การกำหนดแกน

โดยทั่วไปแกนของแผนภูมิสามารถแสดงโดย -

  • ตัวเลขเช่นประชากรอายุและ
  • หมวดหมู่ต่างๆเช่นวันในสัปดาห์ประเทศ

ใน JavaFX แกนคือคลาสนามธรรมที่แทนแกน X หรือ Y มีคลาสย่อยสองคลาสเพื่อกำหนดแกนแต่ละประเภท ได้แก่CategoryAxis และ NumberAxis ดังแสดงในแผนภาพต่อไปนี้ -

Category Axis- โดยการสร้างอินสแตนซ์คลาสนี้คุณสามารถกำหนด (สร้าง) แกน X หรือ Y ตามที่แต่ละค่าแสดงถึงหมวดหมู่ คุณสามารถกำหนดแกนหมวดหมู่ได้โดยสร้างอินสแตนซ์คลาสนี้ดังที่แสดงด้านล่าง -

CategoryAxis xAxis = new CategoryAxis();

สำหรับแกนนี้คุณต้องกำหนดรายการประเภทและป้ายกำกับให้กับแกนดังที่แสดงด้านล่าง -

//setting the list of categories.  
xAxis.setCategories(FXCollections.<String>observableArrayList
   (Arrays.asList("n ame1", "name2"….)));  

//Setting label to the axis  
xAxis.setLabel("name of the axis ");

NumberAxis- โดยการสร้างอินสแตนซ์คลาสนี้คุณสามารถกำหนด (สร้าง) แกน X หรือ Y ซึ่งแต่ละค่าแทนค่าตัวเลข คุณสามารถใช้ Number ประเภทใดก็ได้กับสิ่งนี้Axis, Long, Double, BigDecimalฯลฯ คุณสามารถกำหนดแกน Number ได้โดยสร้างอินสแตนซ์คลาสนี้ดังนี้ -

//Defining the axis 
NumberAxis yAxis = new NumberAxis();  

//Setting labelto the axis 
yAxis.setLabel("name of the axis");

การส่งผ่านข้อมูลไปยังแผนภูมิ XY

แผนภูมิ XY ทั้งหมดจะแสดงตามระนาบ XY ในการพล็อตชุดของจุดในแผนภูมิเราจำเป็นต้องระบุชุดพิกัด XY

<X,Y> คลาสของ javafx.scene.chartแพ็กเกจคือคลาสที่ใช้ซึ่งคุณสามารถส่งข้อมูลไปยังแผนภูมิได้ คลาสนี้มีรายการซีรีส์ที่มีชื่อที่สังเกตได้ คุณสามารถรับรายการนี้โดยใช้ไฟล์getData() วิธีการของ XYChart.Series class ดังรูปด้านล่าง -

ObservableList list = series.getData();

ที่ไหน series เป็นเป้าหมายของไฟล์ XYChart.Seriesชั้นเรียน คุณสามารถเพิ่มข้อมูลลงในรายการนี้โดยใช้ไฟล์add() วิธีการดังนี้ -

list.add(new XYChart.Data(x-axis data, y-axis data));

สองบรรทัดนี้สามารถเขียนร่วมกันได้ดังแสดงด้านล่าง -

series.getData().add(new XYChart.Data(x-axis data, y-axis data));

ตารางต่อไปนี้ให้คำอธิบายของแผนภูมิต่างๆ (คลาส) ที่จัดทำโดย JavaFX -

ส. เลขที่ แผนภูมิและคำอธิบาย
1 แผนภูมิวงกลม

แผนภูมิวงกลมคือการแสดงค่าเป็นส่วนของวงกลมที่มีสีต่างกัน ชิ้นส่วนเหล่านี้มีป้ายกำกับและค่าที่สอดคล้องกับแต่ละชิ้นจะแสดงในแผนภูมิ

ใน JavaFX แผนภูมิวงกลมจะแสดงโดยคลาสที่มีชื่อว่า PieChart. คลาสนี้เป็นของแพ็คเกจjavafx.scene.chart.

2 แผนภูมิเส้น

แผนภูมิเส้นหรือกราฟเส้นแสดงข้อมูลเป็นชุดของจุดข้อมูล (เครื่องหมาย) ที่เชื่อมต่อกันด้วยส่วนของเส้นตรง แผนภูมิเส้นแสดงให้เห็นว่าข้อมูลเปลี่ยนแปลงอย่างไรที่ความถี่เวลาเท่ากัน

ใน JavaFX แผนภูมิเส้นจะแสดงโดยคลาสที่มีชื่อว่า LineChart. คลาสนี้เป็นของแพ็คเกจjavafx.scene.chart. ด้วยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด LineChart ใน JavaFX

3 แผนภูมิพื้นที่

แผนภูมิพื้นที่ใช้เพื่อวาดแผนภูมิตามพื้นที่ แปลงพื้นที่ระหว่างชุดของจุดและแกนที่กำหนด โดยทั่วไปแผนภูมินี้ใช้เพื่อเปรียบเทียบปริมาณสองปริมาณ

ใน JavaFX แผนภูมิพื้นที่จะแสดงโดยคลาสที่มีชื่อว่า AreaChart. คลาสนี้เป็นของแพ็คเกจjavafx.scene.chart. ด้วยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด AreaChart ใน JavaFX

4 แผนภูมิแท่ง

แผนภูมิแท่งใช้เพื่อแสดงข้อมูลที่จัดกลุ่มโดยใช้แท่งสี่เหลี่ยม ความยาวของแถบเหล่านี้แสดงถึงค่า แท่งในแผนภูมิแท่งสามารถลงจุดในแนวตั้งหรือแนวนอน

ใน JavaFX แผนภูมิแท่งจะแสดงโดยคลาสที่มีชื่อว่า BarChart. คลาสนี้เป็นของแพ็คเกจjavafx.scene.chart. โดยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด BarChart ใน JavaFX

5 แผนภูมิฟอง

แผนภูมิฟองใช้เพื่อจัดวางข้อมูลสามมิติ มิติที่สามจะแสดงด้วยขนาด (รัศมี) ของฟองอากาศ

ใน JavaFX แผนภูมิ Bubble แสดงโดยคลาสที่ชื่อ BubbleChart. คลาสนี้เป็นของแพ็คเกจjavafx.scene.chart. ด้วยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด BubbleChart ใน JavaFX

6 แผนภูมิกระจาย

scatterplot คือกราฟประเภทหนึ่งที่ใช้ค่าจากสองตัวแปรที่ลงจุดในระนาบคาร์ทีเซียน โดยปกติจะใช้เพื่อหาความสัมพันธ์ระหว่างสองตัวแปร

ใน JavaFX แผนภูมิกระจายจะแสดงโดยคลาสที่มีชื่อว่า ScatterChart. คลาสนี้เป็นของแพ็คเกจjavafx.scene.chart. โดยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด ScatterChart ใน JavaFX

7 แผนภูมิพื้นที่แบบเรียงซ้อน

ใน JavaFX แผนภูมิพื้นที่แบบเรียงซ้อนจะแสดงโดยคลาสที่มีชื่อว่า StackedAreaChart.

คลาสนี้เป็นของแพ็คเกจ javafx.scene.chart. ด้วยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด StackedAreaChart ใน JavaFX

8 แผนภูมิแท่งแบบเรียงซ้อน

ใน JavaFX แผนภูมิแท่งแบบเรียงซ้อนจะแสดงโดยคลาสที่มีชื่อว่า StackedBarChart.

คลาสนี้เป็นของแพ็คเกจ javafx.scene.chart. โดยการสร้างอินสแตนซ์คลาสนี้คุณสามารถสร้างโหนด StackedBarChart ใน JavaFX