การทำงานกับแผนภูมิ
มีการเพิ่มวิธี insert_chart ใหม่ลงในคลาส DocumentBuilder มาดูวิธีแทรกแผนภูมิคอลัมน์อย่างง่ายลงในเอกสารโดยใช้วิธี DocumentBuilder.insert_chart:
วิธีแทรกแผนภูมิ
ในส่วนนี้ เราจะได้เรียนรู้วิธีแทรกแผนภูมิลงในเอกสาร
แทรกแผนภูมิคอลัมน์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกแผนภูมิคอลัมน์:
รหัสให้ผลลัพธ์ดังต่อไปนี้:

มีวิธี add, add_double และ add_date ซึ่งเปิดเผยให้ครอบคลุมแหล่งข้อมูลรูปแบบต่างๆ ที่เป็นไปได้สำหรับแผนภูมิทุกประเภท:
รหัสให้ผลลัพธ์ดังต่อไปนี้:

แทรกแผนภูมิกระจาย
ตัวอย่างด้านล่างแสดงวิธีการแทรกแผนภูมิกระจาย
รหัสให้ผลลัพธ์ดังต่อไปนี้:

แทรกแผนภูมิพื้นที่
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกแผนภูมิพื้นที่:
รหัสให้ผลลัพธ์ดังต่อไปนี้:

แทรกแผนภูมิฟอง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกแผนภูมิฟอง:
รหัสให้ผลลัพธ์ดังต่อไปนี้:

การทำงานกับแผนภูมิผ่านวัตถุ Shape.chart
เมื่อแทรกแผนภูมิและเติมข้อมูลแล้ว คุณจะสามารถเปลี่ยนรูปลักษณ์ได้ คุณสมบัติ Shape.chart มีตัวเลือกที่เกี่ยวข้องกับแผนภูมิทั้งหมดที่มีอยู่ใน API สาธารณะ
ตัวอย่างเช่น เรามาเปลี่ยนชื่อ Chart หรือลักษณะการทำงานของคำอธิบาย:
รหัสสร้างผลลัพธ์ดังต่อไปนี้:

วิธีทำงานกับ ChartSeriesCollection ของแผนภูมิ
มาดูคอลเลกชัน ChartSeries กันดีกว่า ชุดแผนภูมิทั้งหมดมีอยู่ในคอลเลกชัน Chart.series:
คุณสามารถลบซีรีส์ทีละรายการหรือล้างซีรีส์ทั้งหมด รวมถึงเพิ่มซีรี่ส์ใหม่ได้หากจำเป็น แผนภูมิที่แทรกใหม่มีชุดข้อมูลเริ่มต้นบางชุดที่เพิ่มลงในคอลเลกชันนี้ หากต้องการลบออกคุณต้องเรียกใช้วิธี chart.series.clear()
การทำงานกับคลาส ChartSeries เดี่ยว
ต่อไปนี้เป็นวิธีการทำงานกับซีรีส์ใดซีรีส์หนึ่ง
โปรดดูผลลัพธ์ด้านล่าง:

ChartSeries เดียวทั้งหมดมีตัวเลือก ChartDataPoint เริ่มต้น โปรดลองใช้รหัสต่อไปนี้เพื่อเปลี่ยนแปลง:
โปรดดูผลลัพธ์ด้านล่าง:

วิธีทำงานกับ Single ChartDataPoint ของ ChartSeries
การใช้ ChartDataPoint คุณสามารถปรับแต่งการจัดรูปแบบของจุดข้อมูลจุดเดียวของชุดแผนภูมิได้:
โปรดดูผลลัพธ์ด้านล่าง:

วิธีทำงานกับ ChartDataLabel ของ ChartSeries เดี่ยว
การใช้ ChartDataLabel ทำให้คุณสามารถระบุการจัดรูปแบบของป้ายกำกับข้อมูลเดียวของชุดแผนภูมิ เช่น แสดง/ซ่อน LegendKey, CategoryName, SeriesName, Value เป็นต้น
โปรดดูผลลัพธ์ด้านล่าง:

วิธีกำหนดตัวเลือกเริ่มต้นสำหรับ ChartDataLabels ของ ChartSeries
คลาส ChartDataLabelCollection กำหนดคุณสมบัติที่สามารถใช้เพื่อตั้งค่าตัวเลือกเริ่มต้นสำหรับ ChartDataLabels สำหรับชุดแผนภูมิ คุณสมบัติเหล่านี้ ได้แก่ show_category_name, show_bubble_size, show_percentage, show_series_name, show_value เป็นต้น
โปรดดูผลลัพธ์ด้านล่าง:

วิธีจัดรูปแบบป้ายข้อมูลแผนภูมิจำนวน
การใช้ ChartDataLabel.number_format ทำให้คุณสามารถระบุการจัดรูปแบบตัวเลขของป้ายกำกับข้อมูลเดียวของแผนภูมิได้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีจัดรูปแบบป้ายกำกับข้อมูลจำนวนหนึ่ง:
วิธีการตั้งค่าคุณสมบัติแกนแผนภูมิ
หากคุณต้องการทำงานกับแกนแผนภูมิ การปรับขนาด และหน่วยการแสดงผลสำหรับแกนค่า โปรดใช้คลาส ChartAxis, AxisDisplayUnit และ AxisScaling
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีกำหนดคุณสมบัติแกน X และ Y:
วิธีการตั้งค่าเวลา Date ของ Axis
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าวันที่/เวลาให้กับคุณสมบัติของแกน:
วิธีจัดรูปแบบค่าตัวเลขของแกน
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเปลี่ยนรูปแบบของตัวเลขบนแกนค่า:
วิธีกำหนดขอบเขตของแกน
คลาส AxisBound แสดงถึงขอบเขตต่ำสุดหรือสูงสุดของค่าแกน ขอบเขตสามารถระบุเป็นตัวเลข วันที่-เวลา หรือค่า “อัตโนมัติ” พิเศษได้
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าขอบเขตของแกน:
วิธีการตั้งค่าหน่วยช่วงเวลาระหว่างป้ายกำกับ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าหน่วยช่วงเวลาระหว่างป้ายกำกับบนแกน:
วิธีซ่อนแกนแผนภูมิ
หากคุณต้องการแสดงหรือซ่อนแกนแผนภูมิ คุณสามารถทำได้โดยการตั้งค่าคุณสมบัติ ChartAxis.hidden
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการซ่อนแกน Y ของแผนภูมิ:
วิธีจัดแนวฉลากแผนภูมิ
หากคุณต้องการตั้งค่าการจัดแนวข้อความสำหรับป้ายกำกับหลายบรรทัด คุณสามารถทำได้โดยการตั้งค่าคุณสมบัติ ChartAxis.tick_label_alignment
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการทำเครื่องหมายการจัดตำแหน่งป้ายกำกับ:
วิธีการตั้งค่าการเติมและการจัดรูปแบบเส้นขีด
สามารถตั้งค่าการจัดรูปแบบการเติมและเส้นขีดสำหรับชุดแผนภูมิ จุดข้อมูล และเครื่องหมายได้ ในการดำเนินการนี้ คุณจะต้องใช้คุณสมบัติของประเภท ChartFormat ในคลาส ChartSeries, ChartDataPoint และ ChartMarker รวมถึงนามแฝงสำหรับคุณสมบัติบางอย่าง เช่น fore_color, back_color, visible และ transparency ในคลาส Stroke
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าสีของซีรี่ส์:
doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) chart = shape.chart seriesColl = chart.series # Delete default generated series. seriesColl.clear() # Create category names array. categories = [ "AW Category 1", "AW Category 2" ] # Adding new series. Value and category arrays must be the same size. series1 = seriesColl.add("AW Series 1", categories, [ 1, 2 ]) series2 = seriesColl.add("AW Series 2", categories, [ 3, 4 ]) series3 = seriesColl.add("AW Series 3", categories, [ 5, 6 ]) # Set series color. series1.format.fill.fore_color = drawing.Color.red series2.format.fill.fore_color = drawing.Color.yellow series3.format.fill.fore_color = drawing.Color.blue doc.save(docs_base.artifacts_dir + "WorkingWithCharts.set_series_color.docx")ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าสีและน้ำหนักของเส้น:
doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252) chart = shape.chart seriesColl = chart.series # Delete default generated series. seriesColl.clear() # Adding new series. series1 = seriesColl.add_double("AW Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ]) series2 = seriesColl.add_double("AW Series 2", [ 0.5, 1.5, 2.5 ], [ 3, 1, 2 ]) # Set series color. series1.format.stroke.fore_color = drawing.Color.red series1.format.stroke.weight = 5 series2.format.stroke.fore_color = drawing.Color.light_green series2.format.stroke.weight = 5 doc.save(docs_base.artifacts_dir + "WorkingWithCharts.line_color_and_weight.docx")