Chart

Chart — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss підтримує вбудовування діаграм у робочі листи. Діаграми керуються через ws.charts, a ChartCollection прикріплений до кожного Worksheet. Дані серії додаються через chart.n_series, an NSeries колекція.

Enumerations: aspose.cells_foss

from aspose.cells_foss import ChartType

ChartType

ChartType є IntEnum який ідентифікує тип діаграми.

EnumerationsEnumerationsEnumerations
LINE0Повністю підтримується при збереженні.
BAR1Повністю підтримується при збереженні.
PIE2Повністю підтримується при збереженні.
AREA3Повністю підтримується при збереженні.
BOX_WHISKER4Збережено у форматі chartEx.
WATERFALL5Збережено у форматі chartEx.
COMBO6Enumerations NotImplementedError при збереженні.
SCATTER7Enumerations NotImplementedError при збереженні.
STOCK8Повністю підтримується при збереженні.
SURFACE9Enumerations NotImplementedError при збереженні.
RADAR10Enumerations NotImplementedError при збереженні.
TREEMAP11Enumerations NotImplementedError при збереженні.
SUNBURST12Enumerations NotImplementedError при збереженні.
HISTOGRAM13Enumerations NotImplementedError при збереженні.
FUNNEL14Enumerations NotImplementedError при збереженні.
MAP15Enumerations NotImplementedError при збереженні.

Enumerations

Chart об’єкти не створюються безпосередньо. Використовуйте ws.charts.add(...) або типізовані зручні методи (add_bar(), add_line(), add_pie(), add_area()).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
typeChartTypeEnumerationsТип діаграми встановлюється під час створення.
title`strNone`Читання/Запис
category_data`strNone`Читання/Запис
n_seriesNSeriesEnumerationsКолекція серій даних.
show_legendboolЧитання/ЗаписTrue (за замовчуванням) для відображення легенди діаграми.
legend_positionstrЧитання/ЗаписРозташування легенди: 'right', 'left', 'top', 'bottom', 'top_right' (також приймає короткі форми 'r', 'l', 't', 'b', 'tr').
smoothboolЧитання/ЗаписTrue для використання плавних (сплайнових) ліній у лінійних діаграмах.
groupingstrЧитання/ЗаписГрупування серій: 'standard', 'stacked', 'percentStacked', 'clustered'.
bar_directionstrЧитання/ЗаписEnumerations BAR діаграми: 'bar' (горизонтальна) або 'col' (вертикальна/стовпчик).
gap_widthintЧитання/ЗаписВідступ між кластерами стовпців/барів, 0–500 (за замовчуванням 150).
overlapintЧитання/ЗаписВідсоток перекриття серій, -100 до 100 (за замовчуванням 0).
vary_colorsboolЧитання/ЗаписTrue призначити унікальний колір кожній точці даних.
first_slice_angleintЧитання/ЗаписПочатковий кут для першого сегмента кругової діаграми, 0–360 градусів.
is_3dboolЧитання/ЗаписTrue включити 3D-рендеринг.
view_3dChartView3DEnumerations3D rotation and perspective settings.
axeslist[ChartAxis]EnumerationsСписок осей діаграми.
upper_left_rowintEnumerations0-based row index of the chart’s top-left anchor cell.
upper_left_columnintEnumerations0-based column index of the chart’s top-left anchor cell.
lower_right_rowintEnumerations0-based row index of the chart’s bottom-right anchor cell.
lower_right_columnintEnumerations0-based column index of the chart’s bottom-right anchor cell.

ChartCollection

ChartCollection доступний як ws.charts. Він містить усі діаграми, вбудовані в аркуш.

Enumerations

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, ...).

Властивості та ітерація

EnumerationsEnumerations
countКількість діаграм у колекції (тільки для читання).
__len__()Enumerations count.
__iter__()Перебирає всі Chart об’єкти.
__getitem__(index)Повертає Chart з нульовим індексом index.

NSeries

NSeries доступний через chart.n_series. Він керує серіями даних, що належать до діаграми.

Enumerations

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 перевизначає тип батьківської діаграми для цієї серії (використовується в комбінованих діаграмах).

Властивості та ітерація

EnumerationsEnumerations
countКількість серій (тільки для читання).
__len__()Enumerations count.
__iter__()Ітерує по всіх ChartSeries об’єктів.
__getitem__(index)Повертає ChartSeries за нульовим index.

ChartSeries

ChartSeries представляє окрему серію даних у діаграмі. Отримано за допомогою chart.n_series[index].

Enumerations

EnumerationsEnumerationsEnumerations
valuesstrРядок діапазону для даних значень Y (наприклад,., "Sheet1!B2:B6").
category_datastrРядок діапазону для міток категорій/вісі X для цієї серії.
name`strNone`
chart_type`ChartTypeNone`
x_valuesstrРядок діапазону для значень X у точковій діаграмі.
error_bars`ChartErrorBarsNone`
smoothboolTrue використовувати плавні лінії для цієї серії.

Enumerations

add_error_bars

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

Додає смуги помилок до цієї серії та повертає ChartErrorBars об’єкт.

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

ChartAxis

ChartAxis доступний через chart.axes[index].

Enumerations

EnumerationsEnumerationsEnumerations
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.

Enumerations

EnumerationsEnumerationsEnumerations
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(...).

Enumerations

EnumerationsEnumerationsEnumerations
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`

Enumerations

Наступний приклад записує дані про щомісячний дохід, створює групову стовпчикову діаграму з заголовком та двома серіями даних і зберігає робочу книгу.

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")

Див. також

 Українська