# ปรับแต่งพื้นที่พล็อตของแผนภูมิในงานนำเสนอด้วย С++

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

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

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

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

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

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

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

``` cpp
auto pres = System::MakeObject<Presentation>(u"test.Pptx");
    
auto chart = System::ExplicitCast<Chart>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();

double x = chart->get_PlotArea()->get_ActualX();
double y = chart->get_PlotArea()->get_ActualY();
double w = chart->get_PlotArea()->get_ActualWidth();
double h = chart->get_PlotArea()->get_ActualHeight();

// บันทึกงานนำเสนอพร้อมแผนภูมิ
pres->Save(u"Chart_out.pptx", SaveFormat::Pptx);
```

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

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

ตัวอย่างโค้ดอยู่ด้านล่าง

{{< gist "aspose-com-gists" "81aeb05e6d3a070aa76fdea22ed53bc7" "Examples-SlidesCPP-SetLayoutMode-SetLayoutMode.cpp" >}}

## **คำถามที่พบบ่อย**

**ค่าที่ส่งกลับของ ActualX, ActualY, ActualWidth และ ActualHeight มีหน่วยเป็นอะไร?**

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

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

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

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

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

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

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