Chart — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss podržava ugrađivanje grafikona u radne listove. Grafikoni se upravljaju putem ws.charts, a ChartCollection prikačen na svaki Worksheet. Podaci serije se dodaju putem chart.n_series, jedan NSeries kolekcija.
: aspose.cells_foss
from aspose.cells_foss import ChartTypeChartType
ChartType je jedan IntEnum koji identifikuje tip grafikona.
LINE | 0 | Potpuno podržano za čuvanje. |
BAR | 1 | Potpuno podržano za čuvanje. |
PIE | 2 | Potpuno podržano za čuvanje. |
AREA | 3 | Potpuno podržano za čuvanje. |
BOX_WHISKER | 4 | Sačuvano u chartEx formatu. |
WATERFALL | 5 | Sačuvano u chartEx formatu. |
COMBO | 6 | NotImplementedError prilikom čuvanja. |
SCATTER | 7 | NotImplementedError prilikom čuvanja. |
STOCK | 8 | Potpuno podržano za čuvanje. |
SURFACE | 9 | NotImplementedError prilikom čuvanja. |
RADAR | 10 | NotImplementedError prilikom čuvanja. |
TREEMAP | 11 | NotImplementedError prilikom čuvanja. |
SUNBURST | 12 | NotImplementedError prilikom čuvanja. |
HISTOGRAM | 13 | NotImplementedError prilikom čuvanja. |
FUNNEL | 14 | NotImplementedError prilikom čuvanja. |
MAP | 15 | NotImplementedError prilikom čuvanja. |
Chart objekti se ne konstrušu direktno. Koristite ws.charts.add(...) ili tipizirane metode za praktičnost (add_bar(), add_line(), add_pie(), add_area()).
type | ChartType | Tip grafikona postavljen prilikom kreiranja. | |
title | `str | None` | Čitanje/Upis |
category_data | `str | None` | Čitanje/Upis |
n_series | NSeries | Kolekcija serija podataka. | |
show_legend | bool | Čitanje/Pisanje | True (podrazumevano) za prikaz legende grafikona. |
legend_position | str | Čitanje/Pisanje | Pozicija legende: 'right', 'left', 'top', 'bottom', 'top_right' (takođe prihvata skraćene forme 'r', 'l', 't', 'b', 'tr'). |
smooth | bool | Čitanje/Pisanje | True za korišćenje glatkih (splajn) linija na linijskim grafikonima. |
grouping | str | Čitanje/Pisanje | Grupisanje serija: 'standard', 'stacked', 'percentStacked', 'clustered'. |
bar_direction | str | Čitanje/Pisanje | BAR grafikoni: 'bar' (horizontalno) ili 'col' (vertikalno/kolona). |
gap_width | int | Čitanje/Pisanje | Razmak između grupa stubova/kolona, 0–500 (podrazumevano 150). |
overlap | int | Čitanje/Pisanje | Procenat preklapanja serija, -100 do 100 (podrazumevano 0). |
vary_colors | bool | Čitanje/Pisanje | True da dodeli jedinstvenu boju svakom podatku. |
first_slice_angle | int | Čitanje/Pisanje | Početni ugao za prvi deo pite, 0–360 stepeni. |
is_3d | bool | Čitanje/Pisanje | True da omogući 3D renderovanje. |
view_3d | ChartView3D | 3D rotation and perspective settings. | |
axes | list[ChartAxis] | Lista osa grafikona. | |
upper_left_row | int | 0-based row index of the chart’s top-left anchor cell. | |
upper_left_column | int | 0-based column index of the chart’s top-left anchor cell. | |
lower_right_row | int | 0-based row index of the chart’s bottom-right anchor cell. | |
lower_right_column | int | 0-based column index of the chart’s bottom-right anchor cell. |
ChartCollection
ChartCollection se pristupa kao ws.charts. Sadrži sve grafikone ugrađene u radni list.
add
ws.charts.add(
chart_type: ChartType,
upper_left_row: int,
upper_left_column: int,
lower_right_row: int,
lower_right_column: int
) -> ChartDodaje grafikon specificiranog tipa. Svi argumenti položaja su indeksirani od 0 (red/kolona).
add_bar
ws.charts.add_bar(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartPrečica za add(ChartType.BAR, ...).
add_line
ws.charts.add_line(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartPrečica za add(ChartType.LINE, ...).
add_pie
ws.charts.add_pie(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartPrečica za add(ChartType.PIE, ...).
add_area
ws.charts.add_area(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartPrečica za add(ChartType.AREA, ...).
Svojstva i iteracija
count | Broj grafikona u kolekciji (samo za čitanje). |
__len__() | count. |
__iter__() | Iterira kroz sve Chart objekte. |
__getitem__(index) | Vraća Chart na nultom indeksu index. |
NSeries
NSeries se pristupa putem chart.n_series. Upravlja serijama podataka koje pripadaju grafikonu.
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
) -> ChartSeriesDodaje seriju podataka. area je niz opsega kao što je "Sheet1!B1:B5". Postavi is_vertical=True kada su podaci raspoređeni u kolone. chart_type zamenjuje tip roditeljskog grafikona za ovu seriju (koristi se u kombinovanim grafikonima).
Svojstva i iteracija
count | Broj serija (samo za čitanje). |
__len__() | count. |
__iter__() | Iterira kroz sve ChartSeries objekte. |
__getitem__(index) | Vraća ChartSeries na nultom indeksu index. |
ChartSeries
ChartSeries predstavlja pojedinačnu seriju podataka unutar grafikona. Dobijeno putem chart.n_series[index].
values | str | Niz opsega za podatke Y‑vrednosti (npr., "Sheet1!B2:B6"). |
category_data | str | Niz opsega za oznake kategorija/X‑ose za ovu seriju. |
name | `str | None` |
chart_type | `ChartType | None` |
x_values | str | Niz opsega za X vrednosti raspršenog grafikona. |
error_bars | `ChartErrorBars | None` |
smooth | bool | True za korišćenje glatkih linija za ovu seriju. |
add_error_bars
series.add_error_bars(
direction='y',
bar_type='both',
val_type='fixedVal',
val=1.0,
no_end_cap=False
) -> ChartErrorBarsDodaje error barove ovoj seriji i vraća ChartErrorBars objekat.
direction | 'x', 'y', 'xy' |
bar_type | 'both', 'minus', 'plus' |
val_type | 'fixedVal', 'percentage', 'stdDev', 'stdErr' |
ChartAxis
ChartAxis se pristupa putem chart.axes[index].
title | `str | None` |
number_format | `str | None` |
minimum_scale | `float | None` |
maximum_scale | `float | None` |
major_unit | `float | None` |
minor_unit | `float | None` |
is_logarithmic | bool | True za korišćenje logaritamske skale. |
log_base | float | Osnova logaritma kada is_logarithmic je True. |
crosses | str | Gde ova osa preseče okomitu osu: 'autoZero', 'min', 'max'. |
crosses_at | `float | None` |
reverse_order | bool | True za preokretanje smera ose. |
axis_type | str | Tip kategorije ose: 'catAx', 'valAx', 'dateAx', 'serAx'. |
orientation | str | 'minMax' za normalan smer, 'maxMin' za obrnuti. |
ChartView3D
ChartView3D se pristupa putem chart.view_3d. Važi samo kada chart.is_3d je True.
rotation_x | int | Rotacija oko X-ose (elevacija), 0–90 stepeni. |
rotation_y | int | Rotacija oko Y-ose, 0–360 stepeni. |
right_angle_axes | bool | True za korišćenje pravouglih osa (izometrijski prikaz). |
perspective | int | Perspektivno izobličenje, 0–100. Ignorisano kada right_angle_axes je True. |
height_percent | int | Visina grafikona kao procenat baze, 5–500. |
depth_percent | int | Dubina grafikona kao procenat baze, 20–2000. |
ChartErrorBars
ChartErrorBars se pristupa putem series.error_bars. Kreiraj pomoću series.add_error_bars(...).
direction | str | Smer trake greške: 'x', 'y', 'xy'. |
bar_type | str | Koje trake prikazati: 'both', 'minus', 'plus'. |
val_type | str | Tip vrednosti: 'fixedVal', 'percentage', 'stdDev', 'stdErr'. |
val | float | Fiksna ili procentualna vrednost koja se koristi kada val_type je 'fixedVal' ili 'percentage'. |
no_end_cap | bool | True da se izostavi linija krajnje kapice na trakama greške. |
plus_formula | `str | None` |
minus_formula | `str | None` |
line_width | `int | None` |
line_color | `str | None` |
Sledeći primer upisuje mesečne podatke o prihodu, kreira grupisani stubičasti grafikon sa naslovom i dve serije podataka, i čuva radnu svesku.
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")