Chart

Chart — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss รองรับการฝังแผนภูมิในแผ่นงาน. แผนภูมิจะถูกจัดการผ่าน ws.charts, a ChartCollection แนบกับแต่ละ Worksheet. ข้อมูลซีรีส์ถูกเพิ่มผ่าน chart.n_series, หนึ่ง NSeries คอลเลกชัน.

Properties: aspose.cells_foss

from aspose.cells_foss import ChartType

ChartType

ChartType เป็น IntEnum ที่ระบุประเภทแผนภูมิ.

PropertiesPropertiesProperties
LINE0รองรับเต็มที่สำหรับการบันทึก.
BAR1รองรับเต็มที่สำหรับการบันทึก.
PIE2รองรับเต็มที่สำหรับการบันทึก.
AREA3รองรับเต็มที่สำหรับการบันทึก.
BOX_WHISKER4บันทึกโดยใช้รูปแบบ chartEx.
WATERFALL5บันทึกโดยใช้รูปแบบ chartEx.
COMBO6Properties NotImplementedError เมื่อบันทึก.
SCATTER7Properties NotImplementedError เมื่อบันทึก.
STOCK8รองรับเต็มที่สำหรับการบันทึก.
SURFACE9Properties NotImplementedError เมื่อบันทึก.
RADAR10Properties NotImplementedError เมื่อบันทึก.
TREEMAP11Properties NotImplementedError เมื่อบันทึก.
SUNBURST12Properties NotImplementedError เมื่อบันทึก.
HISTOGRAM13Properties NotImplementedError เมื่อบันทึก.
FUNNEL14Properties NotImplementedError เมื่อบันทึก.
MAP15Properties NotImplementedError เมื่อบันทึก.

Properties

Chart อ็อบเจ็กต์ไม่ถูกสร้างโดยตรง. ใช้ ws.charts.add(...) หรือเมธอดสะดวกแบบพิมพ์ (add_bar(), add_line(), add_pie(), add_area()).

Properties

PropertiesPropertiesPropertiesProperties
typeChartTypePropertiesประเภทแผนภูมิถูกกำหนดในขณะสร้าง.
title`strNone`อ่าน/เขียน
category_data`strNone`อ่าน/เขียน
n_seriesNSeriesPropertiesคอลเลกชันของชุดข้อมูล.
show_legendboolอ่าน/เขียนTrue (default) เพื่อแสดงคำอธิบายแผนภูมิ.
legend_positionstrอ่าน/เขียนตำแหน่งของคำอธิบาย: 'right', 'left', 'top', 'bottom', 'top_right' (ยังรับรูปแบบสั้น 'r', 'l', 't', 'b', 'tr').
smoothboolอ่าน/เขียนTrue เพื่อใช้เส้นเรียบ (สไพล์น) บนแผนภูมิเส้น.
groupingstrอ่าน/เขียนการจัดกลุ่มซีรีส์: 'standard', 'stacked', 'percentStacked', 'clustered'.
bar_directionstrอ่าน/เขียนProperties BAR แผนภูมิ: 'bar' (แนวนอน) หรือ 'col' (แนวตั้ง/คอลัมน์).
gap_widthintอ่าน/เขียนช่องว่างระหว่างกลุ่มแถบ/คอลัมน์, 0–500 (ค่าเริ่มต้น 150).
overlapintอ่าน/เขียนเปอร์เซ็นต์การทับซ้อนของซีรีส์, -100 ถึง 100 (ค่าเริ่มต้น 0).
vary_colorsboolอ่าน/เขียนTrue เพื่อกำหนดสีที่แตกต่างให้กับแต่ละจุดข้อมูล.
first_slice_angleintอ่าน/เขียนมุมเริ่มต้นสำหรับชิ้นพายชิ้นแรก, 0–360 องศา.
is_3dboolอ่าน/เขียนTrue เพื่อเปิดใช้งานการเรนเดอร์ 3 มิติ.
view_3dChartView3DProperties3D rotation and perspective settings.
axeslist[ChartAxis]Propertiesรายการแกนของแผนภูมิ.
upper_left_rowintProperties0-based row index of the chart’s top-left anchor cell.
upper_left_columnintProperties0-based column index of the chart’s top-left anchor cell.
lower_right_rowintProperties0-based row index of the chart’s bottom-right anchor cell.
lower_right_columnintProperties0-based column index of the chart’s bottom-right anchor cell.

ChartCollection

ChartCollection เข้าถึงได้เป็น ws.charts. มีแผนภูมิทั้งหมดที่ฝังอยู่ในแผนงานหนึ่ง.

Properties

add

ws.charts.add(
    chart_type: ChartType,
    upper_left_row: int,
    upper_left_column: int,
    lower_right_row: int,
    lower_right_column: int
) -> Chart

เพิ่มแผนภูมิประเภทที่ระบุ. ทุกอาร์กิวเมนต์ตำแหน่งใช้ดัชนีแถว/คอลัมน์เริ่มจาก 0.

add_bar

ws.charts.add_bar(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

ทางลัดสำหรับ add(ChartType.BAR, ...).

add_line

ws.charts.add_line(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

ทางลัดสำหรับ add(ChartType.LINE, ...).

add_pie

ws.charts.add_pie(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

ทางลัดสำหรับ add(ChartType.PIE, ...).

add_area

ws.charts.add_area(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

ทางลัดสำหรับ add(ChartType.AREA, ...).

คุณสมบัติและการวนซ้ำ

PropertiesProperties
countจำนวนแผนภูมิในคอลเลกชัน (อ่านอย่างเดียว).
__len__()Properties count.
__iter__()วนซ้ำผ่านทั้งหมด Chart วัตถุ.
__getitem__(index)คืนค่า Chart ที่เริ่มจากศูนย์ index.

NSeries

NSeries เข้าถึงได้ผ่าน chart.n_series. มันจัดการชุดข้อมูลที่เป็นของแผนภูมิ.

Properties

add

chart.n_series.add(
    area: str,
    is_vertical: bool = False,
    category_data: str | None = None,
    name: str | None = None,
    chart_type: ChartType | None = None
) -> ChartSeries

เพิ่มชุดข้อมูล. area เป็นสตริงช่วงเช่น "Sheet1!B1:B5". ตั้งค่า is_vertical=True เมื่อข้อมูลจัดเรียงเป็นคอลัมน์. chart_type แทนที่ประเภทแผนภูมิแม่สำหรับชุดนี้ (ใช้ในแผนภูมิแบบคอมโบ).

คุณสมบัติและการวนซ้ำ

PropertiesProperties
countจำนวนชุดข้อมูล (อ่านอย่างเดียว).
__len__()Properties count.
__iter__()วนซ้ำผ่านทั้งหมด ChartSeries วัตถุ.
__getitem__(index)คืนค่า ChartSeries โดยอิงศูนย์ index.

ChartSeries

ChartSeries แสดงถึงชุดข้อมูลเดียวภายในแผนภูมิ ได้รับผ่าน chart.n_series[index].

Properties

PropertiesPropertiesProperties
valuesstrสตริงช่วงสำหรับข้อมูลค่า Y (เช่น., "Sheet1!B2:B6").
category_datastrสตริงช่วงสำหรับป้ายชื่อหมวดหมู่/แกน X ของชุดข้อมูลนี้.
name`strNone`
chart_type`ChartTypeNone`
x_valuesstrสตริงช่วงสำหรับค่าตำแหน่ง X ของแผนภูมิกระจาย.
error_bars`ChartErrorBarsNone`
smoothboolTrue เพื่อใช้เส้นโค้งสำหรับชุดข้อมูลนี้.

Properties

add_error_bars

series.add_error_bars(
    direction='y',
    bar_type='both',
    val_type='fixedVal',
    val=1.0,
    no_end_cap=False
) -> ChartErrorBars

เพิ่มแถบความผิดพลาดให้กับชุดข้อมูลนี้และคืนค่า ChartErrorBars อ็อบเจกต์.

PropertiesProperties
direction'x', 'y', 'xy'
bar_type'both', 'minus', 'plus'
val_type'fixedVal', 'percentage', 'stdDev', 'stdErr'

ChartAxis

ChartAxis เข้าถึงได้ผ่าน chart.axes[index].

Properties

PropertiesPropertiesProperties
title`strNone`
number_format`strNone`
minimum_scale`floatNone`
maximum_scale`floatNone`
major_unit`floatNone`
minor_unit`floatNone`
is_logarithmicboolTrue เพื่อใช้สเกลลอการิทึม.
log_basefloatฐานของลอการิทึมเมื่อ is_logarithmic คือ True.
crossesstrตำแหน่งที่แกนนี้ตัดกับแกนตั้งฉาก: 'autoZero', 'min', 'max'.
crosses_at`floatNone`
reverse_orderboolTrue เพื่อกลับทิศทางของแกน.
axis_typestrประเภทหมวดหมู่ของแกน: 'catAx', 'valAx', 'dateAx', 'serAx'.
orientationstr'minMax' สำหรับทิศทางปกติ, 'maxMin' สำหรับทิศทางย้อนกลับ.

ChartView3D

ChartView3D เข้าถึงได้ผ่าน chart.view_3d. ใช้ได้เฉพาะเมื่อ chart.is_3d คือ True.

Properties

PropertiesPropertiesProperties
rotation_xintการหมุนแกน X (ความสูง), 0–90 องศา.
rotation_yintการหมุนแกน Y, 0–360 องศ.
right_angle_axesboolTrue เพื่อใช้แกนมุมฉาก (มุมมองไอโซเมตริก).
perspectiveintการบิดเบือนมุมมอง, 0–100. จะถูกละเว้นเมื่อ right_angle_axes เป็น True.
height_percentintความสูงของแผนภูมิเป็นเปอร์เซ็นต์ของฐาน, 5–500.
depth_percentintความลึกของแผนภูมิเป็นเปอร์เซ็นต์ของฐาน, 20–2000.

ChartErrorBars

ChartErrorBars เข้าถึงได้ผ่าน series.error_bars. สร้างด้วย series.add_error_bars(...).

Properties

PropertiesPropertiesProperties
directionstrทิศทางของแถบข้อผิดพลาด: 'x', 'y', 'xy'.
bar_typestrแถบใดที่จะแสดง: 'both', 'minus', 'plus'.
val_typestrประเภทค่า: 'fixedVal', 'percentage', 'stdDev', 'stdErr'.
valfloatค่าคงที่หรือเปอร์เซ็นต์ที่ใช้เมื่อ val_type คือ 'fixedVal' หรือ 'percentage'.
no_end_capboolTrue เพื่อลบเส้นปลายบนแถบข้อผิดพลาด.
plus_formula`strNone`
minus_formula`strNone`
line_width`intNone`
line_color`strNone`

Properties

ตัวอย่างต่อไปนี้เขียนข้อมูลรายได้รายเดือน, สร้างแผนภูมิแท่งแบบกลุ่มพร้อมหัวเรื่องและสองชุดข้อมูล, และบันทึกเวิร์กบุ๊ก.

from aspose.cells_foss import Workbook, ChartType

wb = Workbook()
ws = wb.worksheets[0]
ws.name = "Revenue"

# Write headers and data
headers = ["Month", "Product A", "Product B"]
data = [
    ["Jan", 12000, 9500],
    ["Feb", 14500, 11000],
    ["Mar", 13200, 12800],
    ["Apr", 15800, 14100],
]
for col, h in enumerate(headers):
    ws.cells[0][col].put_value(h)
for row, row_data in enumerate(data, start=1):
    for col, val in enumerate(row_data):
        ws.cells[row][col].put_value(val)

# Add a bar chart covering rows 6-20, columns 0-6
chart = ws.charts.add_bar(6, 0, 20, 6)
chart.title = "Monthly Revenue by Product"
chart.bar_direction = "col"   # vertical (column chart)
chart.grouping = "clustered"

# Series: Product A and Product B
chart.n_series.add("Revenue!B2:B5", is_vertical=True, category_data="Revenue!A2:A5", name="Product A")
chart.n_series.add("Revenue!C2:C5", is_vertical=True, category_data="Revenue!A2:A5", name="Product B")

chart.show_legend = True
chart.legend_position = "bottom"

wb.save("revenue_chart.xlsx")

ดูเพิ่มเติม

 ภาษาไทย