จัดการเครื่องหมายข้อมูลแผนภูมิในการนำเสนอด้วย .NET
ภาพรวม
บทความนี้อธิบายวิธีการทำงานกับเครื่องหมายข้อมูลของแผนภูมิใน Aspose.Slides โดยจะแสดงวิธีสร้างแผนภูมิ, เข้าถึงซีรีส์และจุดข้อมูลของมัน, ใช้การเติมรูปภาพให้กับเครื่องหมายในระดับจุดข้อมูล, ปรับขนาดเครื่องหมาย, และบันทึกงานนำเสนอที่อัปเดต นอกจากนี้ยังระบุว่ารูปแบบเครื่องหมายมาตรฐานสามารถใช้ได้ผ่าน enumeration MarkerStyleType และลักษณะของเครื่องหมายจะคงไว้เมื่อส่งออกแผนภูมิเป็นรูปแบบเรสเตอร์หรือ SVG.
ตั้งค่าตัวเลือกเครื่องหมายแผนภูมิ
เครื่องหมายสามารถตั้งค่าได้บนจุดข้อมูลของแผนภูมิในซีรีส์ที่กำหนดเพื่อกำหนดตัวเลือกเครื่องหมายแผนภูมิ โปรดทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Presentation
- สร้างแผนภูมิเริ่มต้น
- ตั้งค่ารูปภาพ
- ดึงซีรีส์แรกของแผนภูมิ
- เพิ่มจุดข้อมูลใหม่
- บันทึกงานนำเสนอลงดิสก์
ในตัวอย่างด้านล่าง เราได้ตั้งค่าตัวเลือกเครื่องหมายแผนภูมิระดับจุดข้อมูล
// สร้างอินสแตนซ์ของคลาส Presentation
using Presentation presentation = new Presentation();
ISlide slide = presentation.Slides[0];
// สร้างแผนภูมิเริ่มต้น
IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
// รับดัชนี worksheet ข้อมูลแผนภูมิเริ่มต้น
int defaultWorksheetIndex = 0;
// รับ worksheet ข้อมูลแผนภูมิ
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// ลบซีรีส์สาธิต
chart.ChartData.Series.Clear();
// เพิ่มซีรีส์ใหม่
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
// ตั้งค่าภาพ
using IImage image1 = Images.FromFile("aspose-logo.jpg");
IPPImage imgx1 = presentation.Images.AddImage(image1);
// ตั้งค่าภาพ
using IImage image2 = Images.FromFile("Tulips.jpg");
IPPImage imgx2 = presentation.Images.AddImage(image2);
// ดึงซีรีส์แผนภูมิแรก
IChartSeries series = chart.ChartData.Series[0];
// เพิ่มจุดใหม่ (1:3) ที่นั่น.
IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1;
point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, (double)2.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2;
point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, (double)3.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1;
point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 4, 1, (double)4.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2;
// เปลี่ยนเครื่องหมายซีรีส์แผนภูมิ
series.Marker.Size = 15;
// บันทึกงานนำเสนอลงดิสก์
presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx);
คำถามที่พบบ่อย
รูปแบบเครื่องหมายใดบ้างที่พร้อมใช้งานโดยไม่ต้องกำหนดเอง?
รูปแบบมาตรฐานพร้อมใช้งาน (วงกลม, สี่เหลี่ยม, เพชร, สามเหลี่ยม ฯลฯ) รายการนี้กำหนดโดย enumeration MarkerStyleType หากคุณต้องการรูปแบบที่ไม่เป็นมาตรฐาน ให้ใช้เครื่องหมายที่เติมด้วยรูปภาพเพื่อจำลองภาพที่กำหนดเอง
เครื่องหมายจะคงอยู่เมื่อส่งออกแผนภูมิเป็นภาพหรือ SVG หรือไม่?
ใช่ เมื่อเราดึงแผนภูมิเป็น รูปแบบเรสเตอร์ หรือบันทึก รูปร่างเป็น SVG เครื่องหมายจะคงรูปลักษณ์และการตั้งค่าของมันไว้ รวมถึงขนาด การเติมสี และเส้นขอบ