การทำงานกับแผนภูมิ
มีการเพิ่มวิธี 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")