Chart — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss stöder inbäddning av diagram i kalkylblad. Diagram hanteras via ws.charts, en ChartCollection bifogad till varje Worksheet. Serien data läggs till via chart.n_series, en NSeries samling.

ImageRenderOptions: aspose.cells_foss

from aspose.cells_foss import ChartType

ChartType

ChartType är en IntEnum som identifierar diagramtypen.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
LINE0Fullt stöd för sparning.
BAR1Fullt stöd för sparning.
PIE2Fullt stöd för sparning.
AREA3Fullt stöd för sparning.
BOX_WHISKER4Sparad med chartEx-format.
WATERFALL5Sparad med chartEx-format.
COMBO6ImageRenderOptions NotImplementedError vid sparning.
SCATTER7ImageRenderOptions NotImplementedError vid sparning.
STOCK8Fullt stöd för sparande.
SURFACE9ImageRenderOptions NotImplementedError vid sparning.
RADAR10ImageRenderOptions NotImplementedError vid sparning.
TREEMAP11ImageRenderOptions NotImplementedError vid sparning.
SUNBURST12ImageRenderOptions NotImplementedError vid sparande.
HISTOGRAM13ImageRenderOptions NotImplementedError vid sparande.
FUNNEL14ImageRenderOptions NotImplementedError vid sparande.
MAP15ImageRenderOptions NotImplementedError vid sparande.

ImageRenderOptions

Chart objekt konstrueras inte direkt. Använd ws.charts.add(...) eller de typade bekvämlighetsmetoderna (add_bar(), add_line(), add_pie(), add_area()).

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
typeChartTypeImageRenderOptionsDiagramtyp sätts vid skapandet.
title`strNone`Läs/skriv
category_data`strNone`Läs/skriv
n_seriesNSeriesImageRenderOptionsSamling av dataserier.
show_legendboolLäs/skrivTrue (standard) för att visa diagramförklaringen.
legend_positionstrLäs/skrivPlacering av legend: 'right', 'left', 'top', 'bottom', 'top_right' (accepterar också kortformer 'r', 'l', 't', 'b', 'tr').
smoothboolLäsa/SkrivaTrue för att använda mjuka (spline) linjer i linjediagram.
groupingstrLäsa/skrivaSeriegroupering: 'standard', 'stacked', 'percentStacked', 'clustered'.
bar_directionstrLäsa/skrivaImageRenderOptions BAR diagram: 'bar' (horisontell) eller 'col' (vertikal/kolumn).
gap_widthintLäsa/skrivaMellanrum mellan stapel-/kolumnkluster, 0–500 (standard 150).
overlapintLäsa/skrivaSerieöverlappningsprocent, -100 till 100 (standard 0).
vary_colorsboolLäsa/skrivaTrue för att tilldela en unik färg till varje datapunkt.
first_slice_angleintLäsa/skrivaStartvinkel för den första pajskivan, 0–360 grader.
is_3dboolLäsa/skrivaTrue för att aktivera 3D-rendering.
view_3dChartView3DImageRenderOptions3D rotation and perspective settings.
axeslist[ChartAxis]ImageRenderOptionsLista över diagramaxlar.
upper_left_rowintImageRenderOptions0-based row index of the chart’s top-left anchor cell.
upper_left_columnintImageRenderOptions0-based column index of the chart’s top-left anchor cell.
lower_right_rowintImageRenderOptions0-based row index of the chart’s bottom-right anchor cell.
lower_right_columnintImageRenderOptions0-based column index of the chart’s bottom-right anchor cell.

ChartCollection

ChartCollection åtkomst sker som ws.charts. Den innehåller alla diagram som är inbäddade i ett kalkylblad.

ImageRenderOptions

add

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

Lägger till ett diagram av den angivna typen. Alla positionsargument är 0‑baserade rad‑/kolumnindex.

add_bar

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

Genväg för add(ChartType.BAR, ...).

add_line

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

Genväg för add(ChartType.LINE, ...).

add_pie

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

Genväg för add(ChartType.PIE, ...).

add_area

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

Genväg för add(ChartType.AREA, ...).

Egenskaper och iteration

ImageRenderOptionsImageRenderOptions
countAntal diagram i samlingen (skrivskyddad).
__len__()ImageRenderOptions count.
__iter__()Itererar över alla Chart objekt.
__getitem__(index)Returnerar Chart vid nollbaserad index.

NSeries

NSeries åtkoms via chart.n_series. Den hanterar dataserierna som tillhör ett diagram.

ImageRenderOptions

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

Lägger till en dataserie. area är en intervallsträng såsom "Sheet1!B1:B5". Ställ in is_vertical=True när data är ordnad i kolumner. chart_type åsidosätter föräldradiagramtypen för denna serie (används i kombinationsdiagram).

Egenskaper och iteration

ImageRenderOptionsImageRenderOptions
countAntal serier (skrivskyddad).
__len__()ImageRenderOptions count.
__iter__()Itererar över alla ChartSeries objekt.
__getitem__(index)Returnerar ChartSeries vid nollbaserad index.

ChartSeries

ChartSeries representerar en enskild dataserie i ett diagram. Hämtas via chart.n_series[index].

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
valuesstrIntervallsträng för Y‑värdesdata (t.ex., "Sheet1!B2:B6").
category_datastrIntervallsträng för kategori-/X‑axel‑etiketterna för denna serie.
name`strNone`
chart_type`ChartTypeNone`
x_valuesstrIntervallsträng för X‑värden i spridningsdiagram.
error_bars`ChartErrorBarsNone`
smoothboolTrue för att använda mjuka linjer för denna serie.

ImageRenderOptions

add_error_bars

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

Lägger till felstaplar i denna serie och returnerar den ChartErrorBars objektet.

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

ChartAxis

ChartAxis åtkoms via chart.axes[index].

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
title`strNone`
number_format`strNone`
minimum_scale`floatNone`
maximum_scale`floatNone`
major_unit`floatNone`
minor_unit`floatNone`
is_logarithmicboolTrue för att använda en logaritmisk skala.
log_basefloatLogaritmens bas när is_logarithmic är True.
crossesstrVar denna axel korsar den vinkelräta axeln: 'autoZero', 'min', 'max'.
crosses_at`floatNone`
reverse_orderboolTrue för att vända axelns riktning.
axis_typestrAxelkategorityp: 'catAx', 'valAx', 'dateAx', 'serAx'.
orientationstr'minMax' för normal riktning, 'maxMin' för omvänd.

ChartView3D

ChartView3D åtkomst sker via chart.view_3d. Gäller endast när chart.is_3d är True.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
rotation_xintX-axelrotation (höjd), 0–90 grader.
rotation_yintY-axelrotation, 0–360 grader.
right_angle_axesboolTrue att använda räta vinkel-axlar (isometrisk vy).
perspectiveintPerspektivdistortion, 0–100. Ignoreras när right_angle_axes är True.
height_percentintDiagramhöjd som en procentandel av basen, 5–500.
depth_percentintDiagramdjup som en procentandel av basen, 20–2000.

ChartErrorBars

ChartErrorBars åtkomst sker via series.error_bars. Skapa med series.add_error_bars(...).

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
directionstrRiktning för felstaplar: 'x', 'y', 'xy'.
bar_typestrVilka staplar som ska visas: 'both', 'minus', 'plus'.
val_typestrVärdetyp: 'fixedVal', 'percentage', 'stdDev', 'stdErr'.
valfloatFast eller procentuellt värde som används när val_type är 'fixedVal' eller 'percentage'.
no_end_capboolTrue för att utelämna slutlinjen på felstaplar.
plus_formula`strNone`
minus_formula`strNone`
line_width`intNone`
line_color`strNone`

ImageRenderOptions

Följande exempel skriver månatliga intäktsdata, skapar ett grupperat stapeldiagram med en titel och två dataserier, och sparar arbetsboken.

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

Se även

 Svenska