จัดการซีรีส์ข้อมูลแผนภูมิในงานนำเสนอด้วย Python
ภาพรวม
แผนภูมิจัดเก็บข้อมูลที่พล็อตไว้ในสมุดงานข้อมูลแผนภูมิ. ChartSeries แสดงชุดค่าที่เกี่ยวข้องหนึ่งชุด, และแต่ละ ChartDataPoint ในชุดอ้างอิงถึงหนึ่งหรือหลายเซลล์ของสมุดงาน. วัตถุ ChartCategory ให้ป้ายหรือค่ากลุ่มที่ใช้ร่วมกันโดยชุด. ชื่อชุด, หมวดหมู่, และค่าจุดจึงเชื่อมต่อกับวัตถุ ChartDataCell แทนที่จะเก็บเป็นข้อความที่แสดงเท่านั้น.
สำหรับแผนภูมิเชิงหมวดทั่วไป, สมุดงานเริ่มต้นใช้แถว 0 สำหรับชื่อชุด, คอลัมน์ 0 สำหรับชื่อหมวด, และเซลล์ที่เหลือสำหรับค่าชุด. ดัชนี Worksheet, แถว, และคอลัมน์ที่ส่งให้ ChartDataWorkbook.get_cell เป็นศูนย์ฐาน. รูปแบบนี้เป็นประโยชน์เมื่อคุณสร้างแผนภูมิด้วยข้อมูลเริ่มต้น, แต่ไม่ควรสันนิษฐานว่าทุกแผนภูมิที่มีอยู่ใช้รูปแบบนี้. สำหรับงานนำเสนอที่โหลดมาแล้ว, ตรวจสอบเซลล์ที่อ้างอิงโดยชุด, หมวด, และจุดข้อมูลก่อนเปลี่ยนค่าในสมุดงาน.
การตั้งค่าแผนภูมิมีสามระดับขอบเขตต่างกัน:
- การตั้งค่าระดับชุด, เช่น ChartSeries.format, ให้ลักษณะการแสดงผลเริ่มต้นสำหรับทุกจุดในชุดหนึ่ง.
- การตั้งค่าจุดข้อมูล, เช่น ChartDataPoint.format, จะครอบคลุมลักษณะชุดสำหรับจุดเดียว.
- การตั้งค่ากลุ่มจะใช้กับชุดที่เข้ากันได้ที่อยู่ใน ChartSeriesGroup เดียวกัน. เข้าถึงกลุ่มผ่าน ChartSeries.parent_series_group เมื่อคุณต้องการตั้งค่าตัวเลือกเช่นการทับหรือความกว้างช่องว่าง.
เมื่อไม่มีการกำหนดการเติมสีจุดหรือชุดโดยชัดเจน, รูปแบบและธีมของแผนภูมิกำหนดลักษณะอัตโนมัติ. เมื่อมีการกำหนดทั้งรูปแบบชุดและรูปแบบจุด, การกำหนดรูปแบบจุดจะมีลำดับความสำคัญสำหรับจุดนั้น.

ตั้งค่าการทับของซีรีส์แผนภูมิ
ChartSeries.overlap รายงานว่าบาร์หรือคอลัมน์ทับกันเท่าใดในแผนภูมิ 2 มิติ, ตั้งแต่ -100 ถึง 100 เปอร์เซ็นต์. มันเป็นการฉายภาพแบบอ่านอย่างเดียวของการตั้งค่าบนกลุ่มชุดแม่. ตั้งค่า ChartSeriesGroup.overlap เพื่ออัปเดตทุกชุดที่เข้ากันได้ในกลุ่มนั้น. ตัวเลือกนี้ใช้กับประเภทแผนภูมิที่แสดงบาร์หรือคอลัมน์เป็นกลุ่ม; มันจะไม่กระทบต่อกลุ่มชุดที่ไม่เกี่ยวข้องในแผนภูมิกลาง.
ตัวอย่างต่อไปนี้ตั้งค่าการทับสำหรับกลุ่มที่มีชุดแรก:
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
first_series_index = 0
overlap_percent = 30
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
# แผนภูมิใหม่ประกอบด้วยชุดตัวอย่าง, หมวดหมู่, และค่า.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[first_series_index]
series.parent_series_group.overlap = overlap_percent
presentation.save("series_overlap.pptx", slides.export.SaveFormat.PPTX)
ผลลัพธ์:

เปลี่ยนสีเติมของซีรีส์
ใช้ ChartSeries.format เพื่อกำหนดสีเติมเริ่มต้นสำหรับทั้งชุด. หากจุดมีการกำหนดสีเติมโดยชัดเจน, การตั้งค่า ChartDataPoint.format จะครอบคลุมสีเติมของชุดสำหรับจุดนั้น.
ตัวอย่างต่อไปนี้ใช้สีเติมแบบโซลิดสีฟ้าสำหรับชุดแรก:
import aspose.pydrawing as drawing
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
first_series_index = 0
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[first_series_index]
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
presentation.save("series_color.pptx", slides.export.SaveFormat.PPTX)
ผลลัพธ์:

เปลี่ยนชื่อชุด
ชื่อชุดถูกเก็บไว้ในสมุดงานข้อมูลแผนภูมิและโดยปกติจะแสดงในคำอธิบาย. ในสมุดงานเริ่มต้นที่สร้างสำหรับแผนภูมิคอลัมน์แบบกลุ่ม, เซลล์ B1 อยู่ที่แถว 0, คอลัมน์ 1 และมีชื่อของชุดแรก. ค่าคงที่ที่ตั้งชื่อในตัวอย่างต่อไปนี้ทำให้โครงสร้างนั้นชัดเจน:
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
worksheet_index = 0
series_name_row_index = 0
first_series_column_index = 1
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
workbook = chart.chart_data.chart_data_workbook
series_name_cell = workbook.get_cell(worksheet_index, series_name_row_index, first_series_column_index)
series_name_cell.value = "Revenue"
presentation.save("series_name.pptx", slides.export.SaveFormat.PPTX)
คุณยังสามารถอัปเดตเซลล์ที่อ้างอิงโดย ChartSeries.name ได้. วิธีนี้หลีกเลี่ยงการสันนิษฐานแถวและคอลัมน์เฉพาะในแผนภูมิที่มีอยู่:
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
first_series_index = 0
first_name_cell_index = 0
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[first_series_index]
series_name_cell = series.name.as_cells[first_name_cell_index]
series_name_cell.value = "Revenue"
presentation.save("series_name.pptx", slides.export.SaveFormat.PPTX)
ผลลัพธ์:

สร้างซีรีส์โดยใช้ชื่อจากหลายเซลล์
ชื่อซีรีส์แบบผสมเป็นประโยชน์เมื่อชื่อผลิตภัณฑ์และช่วงเวลารายงานถูกเก็บในเซลล์สมุดงานแยกกัน. ตัวอย่างเช่น, คุณสามารถรวม Product A ใน B1 และ 2026 ใน C1 ให้เป็นชื่อซีรีส์เดียวขณะยังคงเชื่อมโยงแต่ละส่วนกับเซลล์ต้นทางของพวกมัน.
ใช้ ChartDataWorkbook.get_cell_collection เพื่อดึงช่วงชื่อ, แล้วส่งคอลเลกชันนั้นไปที่ ChartSeriesCollection.add. พารามิเตอร์ skip_hidden_cells ควบคุมว่าควรรวมเซลล์ที่ซ่อนอยู่หรือไม่: True จะไม่รวม, False จะรวม. ตัวอย่างนี้ใช้ False เพื่อรวมทุกเซลล์ในช่วงชื่อ.
ตัวอย่างต่อไปนี้สร้างงานนำเสนอที่มีหนึ่งชุดและสองจุดข้อมูล. เซลล์ B1:C1 มีเพียงชื่อซีรีส์; A2:A3 มีป้ายหมวด, และ B2:B3 มีค่าตัวเลข.
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 620, 180)
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
chart.has_legend = True
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
# สองเซลล์นี้ให้ชื่อซีรีส์.
workbook.get_cell(0, 0, 1, "Product A")
workbook.get_cell(0, 0, 2, "2026")
name_cells = workbook.get_cell_collection("Sheet1!$B$1:$C$1", False)
series = chart.chart_data.series.add(name_cells, charts.ChartType.CLUSTERED_COLUMN)
# เซลล์แยกต่างหากให้ค่าหมวดและจุดข้อมูลตัวเลข.
north_category = workbook.get_cell(0, 1, 0, "North")
south_category = workbook.get_cell(0, 2, 0, "South")
chart.chart_data.categories.add(north_category)
chart.chart_data.categories.add(south_category)
north_value = workbook.get_cell(0, 1, 1, 120)
south_value = workbook.get_cell(0, 2, 1, 150)
series.data_points.add_data_point_for_bar_series(north_value)
series.data_points.add_data_point_for_bar_series(south_value)
presentation.save("composite_series_name.pptx", slides.export.SaveFormat.PPTX)
ชื่อซีรีส์ที่ได้คือ Product A 2026, มีช่องว่างระหว่างค่าจากสองเซลล์. คำอธิบายแสดงเป็นรายการเดียวสำหรับทั้งสองคอลัมน์. ภาพด้านล่างถูกเรนเดอร์จากงานนำเสนอที่บันทึกไว้:

รับสีเติมอัตโนมัติของซีรีส์
ChartSeries.get_automatic_series_color คืนค่าสีที่คำนวณจากดัชนีชุดและรูปแบบแผนภูมิ. นี่คือสีที่ใช้เมื่อสีเติมของชุดไม่ได้กำหนดโดยชัดเจน. การเรียกเมธอดจะอ่านสีที่คำนวณ; ไม่ได้กำหนดสีเติมใหม่.
ตัวอย่างต่อไปนี้พิมพ์สีอัตโนมัติของแต่ละชุดเริ่มต้น:
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series_count = len(chart.chart_data.series)
for series_index in range(series_count):
series = chart.chart_data.series[series_index]
automatic_color = series.get_automatic_series_color()
print(f"Series {series_index}: {automatic_color.name}")
ผลลัพธ์ตัวอย่างสำหรับรูปแบบแผนภูมิเริ่มต้น:
Series 0: ff4f81bd
Series 1: ffc0504d
Series 2: ff9bbb59
สีที่แท้จริงขึ้นอยู่กับรูปแบบแผนภูมิและธีม.
ตั้งค่าสีเติมกลับรายการสำหรับซีรีส์แผนภูมิ
สำหรับซีรีส์บาร์, คอลัมน์, และบับเบิล, ChartSeries.invert_if_negative สามารถแสดงค่าลบด้วยสีเติมที่ต่างออกไป. ตั้งค่าสีเติมปกติเป็นโซลิด, เปิดการกลับรายการ, และกำหนดสีค่าลบผ่าน ChartSeries.inverted_solid_fill_color. ตัวเลขลบจะไม่เปลี่ยนในสมุดงาน; มีเพียงสีแสดงที่เปลี่ยน.
ตัวอย่างต่อไปนี้แทนค่าข้อมูลแผนภูมิเริ่มต้นด้วยชุดเดียว. แถว Worksheet 0 มีชื่อชุด, คอลัมน์ 0 มีชื่อหมวด, และคอลัมน์ 1 มีค่า:
import aspose.pydrawing as drawing
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
worksheet_index = 0
header_row_index = 0
category_column_index = 0
first_series_column_index = 1
first_data_row_index = 1
category_names = ["Category 1", "Category 2", "Category 3"]
series_values = [-20, 50, -30]
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
chart_data = chart.chart_data
workbook = chart_data.chart_data_workbook
chart_data.series.clear()
chart_data.categories.clear()
series_name_cell = workbook.get_cell(worksheet_index, header_row_index, first_series_column_index, "Series 1")
series = chart_data.series.add(series_name_cell, chart.type)
category_count = len(category_names)
for category_index in range(category_count):
data_row_index = first_data_row_index + category_index
category_name = category_names[category_index]
series_value = series_values[category_index]
category_cell = workbook.get_cell(worksheet_index, data_row_index, category_column_index, category_name)
chart_data.categories.add(category_cell)
value_cell = workbook.get_cell(worksheet_index, data_row_index, first_series_column_index, series_value)
series.data_points.add_data_point_for_bar_series(value_cell)
automatic_series_color = series.get_automatic_series_color()
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = automatic_series_color
series.invert_if_negative = True
series.inverted_solid_fill_color.color = drawing.Color.red
presentation.save("inverted_solid_fill_color.pptx", slides.export.SaveFormat.PPTX)
ผลลัพธ์:

คุณสามารถเปิดการกลับรายการสำหรับจุดเดียวผ่าน ChartDataPoint.invert_if_negative. ในตัวอย่างต่อไปนี้, การกลับรายการถูกปิดสำหรับชุดและเปิดเฉพาะจุดที่เลือก. จุดนั้นยังได้รับค่าลบเพื่อให้เห็นผล:
import aspose.pydrawing as drawing
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
first_series_index = 0
target_data_point_index = 2
negative_value = -30
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[first_series_index]
automatic_series_color = series.get_automatic_series_color()
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = automatic_series_color
series.inverted_solid_fill_color.color = drawing.Color.red
series.invert_if_negative = False
data_point = series.data_points[target_data_point_index]
data_point.value.as_cell.value = negative_value
data_point.invert_if_negative = True
presentation.save("data_point_invert_color_if_negative.pptx", slides.export.SaveFormat.PPTX)
ล้างค่าจุดข้อมูลเฉพาะ
เพื่อทำให้จุดหนึ่งว่างโดยไม่ลบจุดอื่น, ตั้งค่าเซลล์สมุดงานที่สนับสนุนเป็น None. สำหรับแผนภูมิคอลัมน์, ค่าที่พล็อตได้สามารถเข้าถึงผ่าน ChartDataPoint.value. จุดข้อมูลจะคงอยู่ที่ตำแหน่งหมวดเดียวกัน, แต่แผนภูมิจะถือว่าค่าของมันเป็นค่าว่างตามการตั้งค่าค่าว่างของแผนภูมิ.
ตัวอย่างต่อไปนี้ล้างเฉพาะจุดที่สองในชุดแรก:
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
first_series_index = 0
target_data_point_index = 1
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[first_series_index]
data_point = series.data_points[target_data_point_index]
data_point.value.as_cell.value = None
presentation.save("clear_data_point_value.pptx", slides.export.SaveFormat.PPTX)
แผนภูมิกระจายใช้เซลล์ X และ Y แยกกัน, และแผนภูมิบับเบิลยังใช้เซลล์ขนาด. ให้ล้างเฉพาะเซลล์ที่แทนค่าที่คุณต้องการลบ. อย่าเรียก ChartDataPointCollection.clear เมื่อคุณต้องการเก็บจุดอื่นไว้, เพราะเมธอดนั้นจะลบทุกจุดในคอลเลกชัน.
ควบคุมการแสดงผลของเซลล์ว่าง
เซลล์ที่ซ่อนอยู่ที่มีค่าเป็นกรณีแยกต่างหากจากเซลล์ว่าง. เพื่อตั้งค่าให้รวมหรือไม่รวมข้อมูลจากแถวและคอลัมน์ที่ซ่อนอยู่, ดูที่ Include Data from Hidden Rows and Columns.
เซลล์สมุดงานว่างแสดงถึงข้อมูลที่หายไป; เซลล์ที่มีค่า 0 แสดงถึงค่าตัวเลขที่ทราบ. ตั้งค่า ChartDataCell.value เป็น None เพื่อทำให้เซลล์เป็นว่าง. ศูนย์ตัวเลขจะคงเป็นศูนย์ไม่ว่าการตั้งค่าเซลล์ว่างจะเป็นอย่างไร.
ใช้ Chart.display_blanks_as เพื่อเลือกวิธีที่แผนภูมิแสดงเซลล์ว่าง. การตั้งค่านี้ใช้กับแผนภูมิทั้งหมด. มันเปลี่ยนวิธีการพล็อตค่าว่าง, โดยไม่ต้องเติมเซลล์สมุดงานว่างด้วยศูนย์หรือค่าที่ประมวลผล.
ตัวอย่างต่อไปนี้เป็นตัวอย่างแบบเต็มที่สร้างแผนภูมิเส้นที่มีหนึ่งชุด, ลบค่าของวันที่ 3, และบันทึกแผนภูมิเดียวกันโดยแต่ละโหมด. ไม่ต้องใช้ไฟล์อินพุต. ChartDataWorkbook ใช้ Worksheet 0, คอลัมน์ 0 สำหรับป้ายหมวด, และคอลัมน์ 1 สำหรับค่า; แถว 0 เก็บชื่อชุด. ข้อมูลสุดท้ายคือ 10, 20, empty, 30, 40.
import aspose.slides as slides
import aspose.slides.charts as charts
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 40, 40, 640, 400)
chart_data = chart.chart_data
workbook = chart_data.chart_data_workbook
chart_data.series.clear()
chart_data.categories.clear()
series_name_cell = workbook.get_cell(0, 0, 1, "Measurements")
series = chart_data.series.add(series_name_cell, chart.type)
values = [10, 20, 25, 30, 40]
for i, value in enumerate(values):
category_cell = workbook.get_cell(0, i + 1, 0, f"Day {i + 1}")
chart_data.categories.add(category_cell)
value_cell = workbook.get_cell(0, i + 1, 1, value)
series.data_points.add_data_point_for_line_series(value_cell)
# ปล่อยให้วัน 3 เป็นค่าว่างจริง ๆ ในขณะที่ยังคงหมวดและจุดข้อมูลของมันไว้.
workbook.get_cell(0, 3, 1).value = None
modes = [("Gap", charts.DisplayBlanksAsType.GAP), ("Zero", charts.DisplayBlanksAsType.ZERO), ("Span", charts.DisplayBlanksAsType.SPAN)]
for mode_name, mode in modes:
chart.display_blanks_as = mode
presentation.save(f"empty_cells_{mode_name}.pptx", slides.export.SaveFormat.PPTX)
แต่ละไฟล์ผลลัพธ์จะบันทึกโหมดที่กำหนดก่อนบันทึก: empty_cells_Gap.pptx, empty_cells_Zero.pptx, และ empty_cells_Span.pptx. หากต้องการบันทึกเพียงเวอร์ชันเดียว, กำหนดโหมดที่ต้องการและบันทึกงานนำเสนอครั้งเดียวแทนการวนลูปผ่านโหมดต่างๆ.
การเปรียบเทียบด้านล่างแสดงข้อมูลเดียวกันในทั้งสามไฟล์. วันที่ 3 เป็นว่างในสมุดงานในทุกกรณี:

ผลกระทบที่มองเห็นขึ้นอยู่กับประเภทแผนภูมิ. แผนภูมิเส้นทำให้เปรียบเทียบสามโหมดได้ง่าย. แผนภูมิบาร์และคอลัมน์ไม่มีเส้นเชื่อมข้ามหมวดที่หายไป, ดังนั้น SPAN ไม่สามารถสร้างส่วนเชื่อมที่แสดงข้างต้น; คอลัมน์ที่หายไปและคอลัมน์ศูนย์สูงอาจดูคล้ายกัน. เช่นเดียวกับแผนภูมิกระจายที่มีเครื่องหมายเท่านั้นไม่มีเส้นเชื่อม. อย่าคาดหวังผลลัพธ์ที่แตกต่างกันสามแบบสำหรับทุกประเภทแผนภูมิ; ตรวจสอบผลลัพธ์สำหรับประเภทที่คุณใช้.
ตั้งค่าความกว้างช่องว่างของซีรีส์
ความกว้างช่องว่างคือช่องว่างระหว่างกลุ่มบาร์หรือคอลัมน์ที่อยู่ติดกัน, แสดงเป็นเปอร์เซ็นต์ของความกว้างบาร์หรือคอลัมน์. เหมือนกับการทับ, มันเป็นของกลุ่มชุดแม่ไม่ใช่ของชุดเดียว. ตั้งค่า ChartSeriesGroup.gap_width ครั้งเดียวสำหรับกลุ่ม. ค่ามากกว่าจะเพิ่มช่องว่างระหว่างกลุ่ม; ค่าน้อยกว่าจะทำให้กลุ่มแน่นขึ้น.
ตัวอย่างต่อไปนี้เปลี่ยนความกว้างช่องว่างและบันทึกงานนำเสนอสุดท้ายเท่านั้น:
import aspose.slides as slides
import aspose.slides.charts as charts
first_slide_index = 0
first_series_index = 0
gap_width_percent = 30
with slides.Presentation() as presentation:
slide = presentation.slides[first_slide_index]
chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN, 20, 20, 500, 200)
series = chart.chart_data.series[first_series_index]
series.parent_series_group.gap_width = gap_width_percent
presentation.save("gap_width_30.pptx", slides.export.SaveFormat.PPTX)
ผลลัพธ์:

คำถามที่พบบ่อย
แผนภูมิประเภทใดรองรับข้อมูลซีรีส์?
ทุกแผนภูมิที่ระบุใน enumeration ChartType ใช้ข้อมูลแผนภูมิ, แต่ซีรีส์ของพวกมันไม่ได้มีโครงสร้างค่าหรือการตั้งค่าเดียวกัน. ตัวอย่างเช่น, แผนภูมิเชิงหมวดใช้หมวดและค่า, แผนภูมิกระจายใช้ค่า X และ Y, และแผนภูมิบับเบิลเพิ่มขนาดบับเบิล. ใช้วิธีการสร้างจุดข้อมูลที่ตรงกับประเภทซีรีส์. ตัวเลือกเช่นการทับและความกว้างช่องว่างใช้ได้เฉพาะกับกลุ่มบาร์หรือคอลัมน์ที่เข้ากันได้.
กลุ่มซีรีส์ของแผนภูมิคืออะไร?
ChartSeriesGroup ประกอบด้วยซีรีส์ที่เข้ากันได้ที่แชร์การตั้งค่าการพล็อตระดับกลุ่ม. แผนภูมิกลางสามารถมีมากกว่าหนึ่งกลุ่ม, ดังนั้นการเปลี่ยนกลุ่มผ่านชุดหนึ่งไม่จำเป็นต้องเปลี่ยนทุกชุดในแผนภูมิ.
แผนภูมิที่สร้างใหม่มีข้อมูลเริ่มต้นหรือไม่?
ใช่. โดยค่าเริ่มต้น, ShapeCollection.add_chart สร้างซีรีส์ตัวอย่าง, หมวด, และค่า. คุณสามารถแก้ไขเซลล์เหล่านั้นหรือเคลียร์ทั้งคอลเลกชันซีรีส์และหมวดก่อนเพิ่มชุดข้อมูลที่กำหนดเองอย่างสมบูรณ์. มี overload ที่สามารถสร้างแผนภูมิโดยไม่มีข้อมูลเริ่มต้นได้ด้วย.
วัตถุแผนภูมิเชื่อมต่อกับเซลล์สมุดงานอย่างไร?
ชื่อซีรีส์, ป้ายหมวด, และค่าจุดข้อมูลอ้างอิงเซลล์ใน ChartDataWorkbook. การเปลี่ยนเซลล์ที่อ้างอิงจะอัปเดตองค์ประกอบแผนภูมิเกี่ยวข้อง. เมื่อคุณสร้างข้อมูลกำหนดเอง, รักษาแถวหมวดและแถวค่าชุดให้สอดคล้องกันเพื่อให้แต่ละจุดพล็อตภายใต้หมวดที่ต้องการ.
จะลบจุดเดียวแทนการลบทั้งชุดอย่างไร?
ตั้งค่าเซลล์ค่าที่เกี่ยวข้องเป็น None เพื่อรักษาตำแหน่งหมวดของจุดเป็นจุดว่าง. ใช้ ChartDataPointCollection.clear เฉพาะเมื่อคุณต้องการลบทุกจุดจากชุดนั้น. หากคุณลบหมวดด้วย, ให้อัปเดตทุกชุดเพื่อให้ค่าของพวกมันยังคงสอดคล้องกับคอลเลกชันหมวด.
จุดว่างแสดงผลอย่างไร?
ผลลัพธ์ขึ้นอยู่กับประเภทแผนภูมิและ Chart.display_blanks_as. แผนภูมิที่รองรับสามารถแสดงค่าว่างเป็นช่องว่าง, เป็นค่าศูนย์, หรือโดยการเชื่อมจุดใกล้เคียง. เลือกการตั้งค่าที่สอดคล้องกับความหมายของข้อมูลที่หายไปในงานนำเสนอของคุณ. ดู Control the Display of Empty Cells สำหรับตัวอย่างครบถ้วนและเปรียบเทียบภาพ.
ค่าลบถูกจัดรูปแบบอย่างไร?
สำหรับซีรีส์บาร์, คอลัมน์, และบับเบิลที่รองรับ, เปิดใช้ ChartSeries.invert_if_negative และตั้งค่า ChartSeries.inverted_solid_fill_color. คุณสามารถครอบคลุมพฤติกรรมสำหรับจุดเดี่ยวด้วย ChartDataPoint.invert_if_negative. คุณสมบัติเหล่านี้มีผลต่อการจัดรูปแบบ, ไม่ได้เปลี่ยนค่าตัวเลขที่จัดเก็บ.
รูปแบบใดชนะเมื่อทั้งชุดและจุดได้รับการจัดรูปแบบ?
การจัดรูปแบบจุดข้อมูลอย่างชัดเจนมีลำดับความสำคัญสำหรับจุดนั้น. จุดอื่นจะใช้รูปแบบชุดที่ชัดเจนหรือ, เมื่อไม่มีการกำหนดรูปแบบชุด, จะใช้รูปแบบแผนภูมิและธีมอัตโนมัติ. คุณสมบัติของกลุ่มเช่นการทับและความกว้างช่องว่างควบคุมการจัดวางและไม่ได้เป็นการครอบคลุมการจัดรูปแบบระดับจุด.
แผนภูมิสามารถมีซีรีส์ได้มากเท่าใด?
Aspose.Slides ไม่ได้กำหนดขีดจำกัดจำนวนซีรีส์คงที่. อย่างไรก็ตาม, ข้อจำกัดของไฟล์การนำเสนอ, หน่วยความจำที่มี, เวลาเรนเดอร์, และความอ่านง่ายของแผนภูมิจะกำหนดขีดจำกัดที่ทำให้ใช้งานได้จริง.
ควรเปลี่ยนอะไรเมื่อคอลัมน์ใกล้กันเกินไปหรือห่างกันเกินไป?
ตั้งค่า ChartSeriesGroup.gap_width บนกลุ่มชุดแม่ที่เหมาะสม. เพิ่มค่าจะทำให้ช่องว่างระหว่างกลุ่มกว้างขึ้น, ลดค่าจะทำให้กลุ่มใกล้กันมากขึ้น.