Chart — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss obsługuje osadzanie wykresów w arkuszach. Wykresy są zarządzane przez ws.charts, a ChartCollection dołączany do każdego Worksheet. Dane serii są dodawane przez chart.n_series, NSeries kolekcja.

Example: aspose.cells_foss

from aspose.cells_foss import ChartType

ChartType

ChartType jest IntEnum który określa typ wykresu.

ExampleExampleExample
LINE0W pełni obsługiwane przy zapisie.
BAR1W pełni obsługiwane przy zapisie.
PIE2W pełni obsługiwane przy zapisie.
AREA3W pełni obsługiwane przy zapisie.
BOX_WHISKER4Zapisano w formacie chartEx.
WATERFALL5Zapisano w formacie chartEx.
COMBO6Example NotImplementedError przy zapisie.
SCATTER7Example NotImplementedError przy zapisie.
STOCK8W pełni obsługiwane przy zapisie.
SURFACE9Example NotImplementedError przy zapisie.
RADAR10Example NotImplementedError przy zapisie.
TREEMAP11Example NotImplementedError przy zapisie.
SUNBURST12Example NotImplementedError przy zapisie.
HISTOGRAM13Example NotImplementedError przy zapisie.
FUNNEL14Example NotImplementedError przy zapisie.
MAP15Example NotImplementedError przy zapisie.

Example

Chart obiekty nie są tworzone bezpośrednio. Użyj ws.charts.add(...) lub metod wygodnych typowanych (add_bar(), add_line(), add_pie(), add_area()).

Example

ExampleExampleExampleExample
typeChartTypeExampleTyp wykresu ustawiany w czasie tworzenia.
title`strNone`Odczyt/Zapis
category_data`strNone`Odczyt/Zapis
n_seriesNSeriesExampleZbiór serii danych.
show_legendboolOdczyt/ZapisTrue (domyślnie) wyświetla legendę wykresu.
legend_positionstrOdczyt/ZapisUmiejscowienie legendy: 'right', 'left', 'top', 'bottom', 'top_right' (akceptuje także krótkie formy 'r', 'l', 't', 'b', 'tr').
smoothboolOdczyt/ZapisTrue aby używać gładkich (spline) linii na wykresach liniowych.
groupingstrOdczyt/ZapisGrupowanie serii: 'standard', 'stacked', 'percentStacked', 'clustered'.
bar_directionstrOdczyt/ZapisExample BAR wykresy: 'bar' (poziomy) lub 'col' (pionowy/kolumna).
gap_widthintOdczyt/ZapisOdstęp między grupami słupków/kolumn, 0–500 (domyślnie 150).
overlapintOdczyt/ZapisProcent nakładania się serii, -100 do 100 (domyślnie 0).
vary_colorsboolOdczyt/ZapisTrue aby przypisać odrębny kolor do każdego punktu danych.
first_slice_angleintOdczyt/ZapisKąt początkowy pierwszego wycinka koła, 0–360 stopni.
is_3dboolOdczyt/ZapisTrue aby włączyć renderowanie 3D.
view_3dChartView3DExample3D rotation and perspective settings.
axeslist[ChartAxis]ExampleLista osi wykresu.
upper_left_rowintExample0-based row index of the chart’s top-left anchor cell.
upper_left_columnintExample0-based column index of the chart’s top-left anchor cell.
lower_right_rowintExample0-based row index of the chart’s bottom-right anchor cell.
lower_right_columnintExample0-based column index of the chart’s bottom-right anchor cell.

ChartCollection

ChartCollection jest dostępny jako ws.charts. Zawiera wszystkie wykresy osadzone w arkuszu.

Example

add

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

Dodaje wykres określonego typu. Wszystkie argumenty pozycji są indeksami wiersza/kolumny zaczynającymi się od 0.

add_bar

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

Skrót do add(ChartType.BAR, ...).

add_line

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

Skrót do add(ChartType.LINE, ...).

add_pie

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

Skrót do add(ChartType.PIE, ...).

add_area

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

Skrót do add(ChartType.AREA, ...).

Właściwości i iteracja

ExampleExample
countLiczba wykresów w kolekcji (tylko do odczytu).
__len__()Example count.
__iter__()Iteruje po wszystkich Chart obiektach.
__getitem__(index)Zwraca Chart w zerowo-indeksowanym index.

NSeries

NSeries jest dostępny przez chart.n_series. Zarządza seriami danych należącymi do wykresu.

Example

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

Dodaje serię danych. area jest ciągiem zakresu, takim jak "Sheet1!B1:B5". Ustaw is_vertical=True gdy dane są ułożone w kolumnach. chart_type nadpisuje typ wykresu nadrzędnego dla tej serii (używane w wykresach kombinowanych).

Właściwości i iteracja

ExampleExample
countLiczba serii (tylko do odczytu).
__len__()Example count.
__iter__()Iteruje po wszystkich ChartSeries obiekty.
__getitem__(index)Zwraca ChartSeries w zerowym indeksie index.

ChartSeries

ChartSeries reprezentuje pojedynczą serię danych w wykresie. Uzyskiwana przez chart.n_series[index].

Example

ExampleExampleExample
valuesstrCiąg zakresu dla danych wartości Y (np., "Sheet1!B2:B6").
category_datastrCiąg zakresu dla etykiet kategorii/osi X tej serii.
name`strNone`
chart_type`ChartTypeNone`
x_valuesstrCiąg zakresu dla wartości X wykresu punktowego.
error_bars`ChartErrorBarsNone`
smoothboolTrue aby używać gładkich linii dla tej serii.

Example

add_error_bars

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

Dodaje słupki błędów do tej serii i zwraca ChartErrorBars obiekt.

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

ChartAxis

ChartAxis jest dostępny przez chart.axes[index].

Example

ExampleExampleExample
title`strNone`
number_format`strNone`
minimum_scale`floatNone`
maximum_scale`floatNone`
major_unit`floatNone`
minor_unit`floatNone`
is_logarithmicboolTrue aby użyć skali logarytmicznej.
log_basefloatPodstawa logarytmu, gdy is_logarithmic jest True.
crossesstrGdzie ta oś przecina oś prostopadłą: 'autoZero', 'min', 'max'.
crosses_at`floatNone`
reverse_orderboolTrue aby odwrócić kierunek osi.
axis_typestrTyp kategorii osi: 'catAx', 'valAx', 'dateAx', 'serAx'.
orientationstr'minMax' dla normalnego kierunku, 'maxMin' dla odwróconego.

ChartView3D

ChartView3D jest dostępny przez chart.view_3d. Obowiązuje tylko gdy chart.is_3d jest True.

Example

ExampleExampleExample
rotation_xintObrót wokół osi X (elewacja), 0–90 stopni.
rotation_yintObrót wokół osi Y, 0–360 stopni.
right_angle_axesboolTrue aby używać osi pod kątem prostym (widok izometryczny).
perspectiveintZniekształcenie perspektywy, 0–100. Ignorowane gdy right_angle_axes jest True.
height_percentintWysokość wykresu jako procent podstawy, 5–500.
depth_percentintGłębokość wykresu jako procent podstawy, 20–2000.

ChartErrorBars

ChartErrorBars jest dostępny przez series.error_bars.Utwórz przy użyciu series.add_error_bars(...).

Example

ExampleExampleExample
directionstrKierunek słupka błędu: 'x', 'y', 'xy'.
bar_typestrKtóre słupki wyświetlić: 'both', 'minus', 'plus'.
val_typestrTyp wartości: 'fixedVal', 'percentage', 'stdDev', 'stdErr'.
valfloatStała lub procentowa wartość używana, gdy val_type jest 'fixedVal' lub 'percentage'.
no_end_capboolTrue aby pominąć linię zakończenia na słupkach błędu.
plus_formula`strNone`
minus_formula`strNone`
line_width`intNone`
line_color`strNone`

Example

Poniższy przykład zapisuje miesięczne dane przychodów, tworzy skumulowany wykres słupkowy z tytułem i dwiema seriami danych oraz zapisuje skoroszyt.

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

Zobacz także

 Polski