# ปรับแต่งพื้นที่พล็อตของแผนภูมิการนำเสนอใน .NET

> ค้นพบวิธีปรับแต่งพื้นที่พล็อตของแผนภูมิในงานนำเสนอ PowerPoint ด้วย Aspose.Slides สำหรับ .NET ปรับปรุงภาพสไลด์ของคุณได้อย่างง่ายดาย.

Source: https://docs.aspose.com/slides/th/net/chart-plot-area/
Updated: 2026-06-13

## **ภาพรวม**

บทความนี้แสดงวิธีทำงานกับพื้นที่พล็อตของแผนภูมิใน Aspose.Slides โดยอธิบายวิธีการรับตำแหน่งและขนาดจริงของพื้นที่พล็อตโดยการตรวจสอบการจัดวางแผนภูมิแล้วอ่านค่า X, Y, ความกว้าง และความสูง

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

## **รับความกว้างและความสูงของพื้นที่พล็อตของแผนภูมิ**
Aspose.Slides for .NET มี API อย่างง่ายสำหรับ .

1. สร้างอินสแตนซ์ของคลาส [Presentation](https://reference.aspose.com/slides/th/net/aspose.slides/presentation) 
2. เข้าถึงสไลด์แรก
3. เพิ่มแผนภูมิโดยใช้ข้อมูลเริ่มต้น
4. เรียกเมธอด IChart.ValidateChartLayout() ก่อนเพื่อรับค่าจริง
5. รับตำแหน่ง X จริง (ด้านซ้าย) ขององค์ประกอบแผนภูมิเกี่ยวกับมุมซ้ายบนของแผนภูมิ
6. รับตำแหน่งบนจริงขององค์ประกอบแผนภูมิเกี่ยวกับมุมซ้ายบนของแผนภูมิ
7. รับความกว้างจริงขององค์ประกอบแผนภูมิ
8. รับความสูงจริงขององค์ประกอบแผนภูมิ

```c#
using (Presentation pres = new Presentation("test.Pptx"))
{
    Chart chart = (Chart)pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350);
    chart.ValidateChartLayout();

    double x = chart.PlotArea.ActualX;
    double y = chart.PlotArea.ActualY;
    double w = chart.PlotArea.ActualWidth;
    double h = chart.PlotArea.ActualHeight;
	
	// บันทึกงานนำเสนอพร้อมแผนภูมิ
	pres.Save("Chart_out.pptx", SaveFormat.Pptx);
}
```

## **กำหนดโหมดการจัดวางของพื้นที่พล็อตของแผนภูมิ**
Aspose.Slides for .NET มี API อย่างง่ายเพื่อกำหนดโหมดการจัดวางของพื้นที่พล็อตของแผนภูมิ คุณสมบัติ **LayoutTargetType** ได้ถูกเพิ่มเข้าไปในคลาส **ChartPlotArea** และ **IChartPlotArea** หากการจัดวางของพื้นที่พล็อตถูกกำหนดด้วยตนเอง คุณสมบัตินี้จะระบุว่าจะจัดวางพื้นที่พล็อตโดยใช้ภายใน (ไม่รวมแกนและป้ายแกน) หรือภายนอก (รวมแกนและป้ายแกน) มีค่าเป็นไปได้สองค่าใน enum **LayoutTargetType** ดังนี้

- **LayoutTargetType.Inner** – ระบุว่าขนาดของพื้นที่พล็อตจะกำหนดขนาดของพื้นที่พล็อตโดยไม่รวมเครื่องหมายติ๊กและป้ายแกน
- **LayoutTargetType.Outer** – ระบุว่าขนาดของพื้นที่พล็อตจะกำหนดขนาดของพื้นที่พล็อตรวมกับเครื่องหมายติ๊กและป้ายแกน

ตัวอย่างโค้ดได้แสดงไว้ด้านล่าง

```c#
using (Presentation presentation = new Presentation())
{
    ISlide slide = presentation.Slides[0];
    IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 100, 600, 400);
    chart.PlotArea.AsILayoutable.X = 0.2f;
    chart.PlotArea.AsILayoutable.Y = 0.2f;
    chart.PlotArea.AsILayoutable.Width = 0.7f;
    chart.PlotArea.AsILayoutable.Height = 0.7f;
    chart.PlotArea.LayoutTargetType = LayoutTargetType.Inner;

    presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx);
}
```

## **คำถามถามบ่อย**

**หน่วยที่ ActualX, ActualY, ActualWidth, และ ActualHeight ถูกส่งคืนคืออะไร?**

หน่วยเป็นพอยท์; 1 นิ้ว = 72 พอยท์ นี่คือหน่วยพิกัดของ Aspose.Slides

**พื้นที่พล็อตแตกต่างจากพื้นที่แผนภูมิอย่างไรในแง่ของเนื้อหา?**

พื้นที่พล็อตคือพื้นที่วาดข้อมูล (ซีรีส์, เส้นกริด, เส้นแนวโน้ม ฯลฯ) ส่วนพื้นที่แผนภูมิรวมถึงองค์ประกอบรอบ ๆ (หัวเรื่อง, คำอธิบาย, ฯลฯ) ในแผนภูมิ 3 มิติ พื้นที่พล็อตยังรวมถึงผนัง/พื้นและแกนด้วย

**ค่า X, Y, Width, และ Height ของพื้นที่พล็อตถูกตีความอย่างไรเมื่อการจัดวางเป็นแบบแมนนวล?**

ค่าเหล่านี้เป็นส่วนเศษ (0–1) ของขนาดทั้งหมดของแผนภูมิ ในโหมดนี้การกำหนดตำแหน่งอัตโนมัติถูกปิดและใช้ส่วนเศษที่คุณตั้งค่าไว้

**ทำไมตำแหน่งของพื้นที่พล็อตจึงเปลี่ยนหลังจากเพิ่ม/ย้ายคำอธิบาย?**

คำอธิบายอยู่ในพื้นที่แผนภูมิที่อยู่นอกพื้นที่พล็อตแต่มีผลต่อการจัดวางและพื้นที่ที่ใช้ได้ ดังนั้นพื้นที่พล็อตอาจเลื่อนตำแหน่งเมื่อการกำหนดตำแหน่งอัตโนมัติกำลังทำงาน (นี่เป็นพฤติกรรมมาตรฐานของแผนภูมิ PowerPoint)
