จัดการมาร์คเกอร์ข้อมูลแผนภูมิในการนำเสนอบน Android
ภาพรวม
บทความนี้อธิบายวิธีทำงานกับมาร์คเกอร์ข้อมูลของแผนภูมิใน Aspose.Slides. มันแสดงวิธีสร้างแผนภูมิ, เข้าถึงซีรีส์และจุดข้อมูลของมัน, ใช้การเติมรูปภาพให้กับมาร์คเกอร์ในระดับจุดข้อมูล, ปรับขนาดมาร์คเกอร์, และบันทึกการนำเสนอที่อัปเดต. นอกจากนี้ยังระบุว่ารูปร่างมาร์คเกอร์มาตรฐานมีให้ใช้ผ่านการนับจำนวน MarkerStyleType และลักษณะของมาร์คเกอร์จะคงอยู่เมื่อนำออกแผนภูมิเป็นรูปแบบ raster หรือ SVG.
ตั้งค่าตัวเลือกมาร์คเกอร์ของแผนภูมิ
มาร์คเกอร์สามารถตั้งค่าได้บนจุดข้อมูลของแผนภูมิในซีรีส์เฉพาะ. เพื่อกำหนดตัวเลือกมาร์คเกอร์ของแผนภูมิ โปรดทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์คลาส Presentation
- สร้างแผนภูมิดีฟอลต์
- ตั้งค่ารูปภาพ
- ดึงซีรีส์แผนภูมิแรก
- เพิ่มจุดข้อมูลใหม่
- เขียนการนำเสนอไปยังดิสก์
ในตัวอย่างด้านล่างนี้ เราได้ตั้งค่าตัวเลือกมาร์คเกอร์ของแผนภูมิในระดับจุดข้อมูล
// สร้างการนำเสนอเปล่า
Presentation pres = new Presentation();
try {
// เข้าถึงสไลด์แรก
ISlide slide = pres.getSlides().get_Item(0);
// สร้างแผนภูมิดีฟอลต์
IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
// ดึงดัชนี WorkSheet ของข้อมูลแผนภูมิดีฟอลต์
int defaultWorksheetIndex = 0;
// ดึง WorkSheet ของข้อมูลแผนภูมิ
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// ลบซีรีส์ตัวอย่าง
chart.getChartData().getSeries().clear();
// เพิ่มซีรีส์ใหม่
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
// โหลดรูปภาพที่ 1
IPPImage imgx1 = pres.getImages().addImage(new FileInputStream(new File("Desert.jpg")));
// โหลดรูปภาพที่ 2
IPPImage imgx2 = pres.getImages().addImage(new FileInputStream(new File("Tulips.jpg")));
// ดึงซีรีส์แผนภูมิเซแรก
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// เพิ่มจุดใหม่ (1:3) ที่นั่น.
IChartDataPoint point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 1, 1, (double) 4.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 2, 1, (double) 2.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 3, 1, (double) 3.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 4, 1, (double) 4.5));
point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
// เปลี่ยนมาร์คเกอร์ของซีรีส์แผนภูมิ
series.getMarker().setSize(15);
// บันทึกการนำเสนอพร้อมแผนภูมิ
pres.save("ScatterChart.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
คำถามที่พบบ่อย
รูปร่างมาร์คเกอร์ที่มีให้ใช้งานโดยค่าเริ่มต้นมีอะไรบ้าง?
มีรูปร่างมาตรฐานให้ใช้งาน (วงกลม, สี่เหลี่ยม, เพชร, สามเหลี่ยม ฯลฯ) รายการนี้ถูกกำหนดโดยคลาส MarkerStyleType หากต้องการรูปร่างที่ไม่เป็นมาตรฐาน ให้ใช้มาร์คเกอร์ที่เติมด้วยรูปภาพเพื่อจำลองภาพที่กำหนดเอง
มาร์คเกอร์จะคงอยู่เมื่อส่งออกแผนภูมิเป็นภาพหรือ SVG หรือไม่?
ใช่. เมื่อเราดึงแผนภูมิเป็น raster formats หรือบันทึก shapes as SVG, มาร์คเกอร์จะคงลักษณะและการตั้งค่าของมันไว้ รวมถึงขนาด, การเติม, และเส้นขอบ