Chart — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss prend en charge l’intégration de graphiques dans les feuilles de calcul. Les graphiques sont gérés via ws.charts, un ChartCollection attaché à chaque Worksheet. Les données de série sont ajoutées via chart.n_series, un NSeries collection.
ColladaSaveOptions: aspose.cells_foss
from aspose.cells_foss import ChartTypeChartType
ChartType est un IntEnum qui identifie le type de graphique.
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
LINE | 0 | Entièrement pris en charge pour l’enregistrement. |
BAR | 1 | Entièrement pris en charge pour l’enregistrement. |
PIE | 2 | Entièrement pris en charge pour l’enregistrement. |
AREA | 3 | Entièrement pris en charge pour la sauvegarde. |
BOX_WHISKER | 4 | Enregistré au format chartEx. |
WATERFALL | 5 | Enregistré au format chartEx. |
COMBO | 6 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
SCATTER | 7 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
STOCK | 8 | Entièrement pris en charge pour la sauvegarde. |
SURFACE | 9 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
RADAR | 10 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
TREEMAP | 11 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
SUNBURST | 12 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
HISTOGRAM | 13 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
FUNNEL | 14 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
MAP | 15 | ColladaSaveOptions NotImplementedError à l’enregistrement. |
ColladaSaveOptions
Chart les objets ne sont pas construits directement. Utilisez ws.charts.add(...) ou les méthodes de commodité typées (add_bar(), add_line(), add_pie(), add_area()).
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|---|
type | ChartType | ColladaSaveOptions | Type de graphique défini lors de la création. |
title | `str | None` | Lecture/Écriture |
category_data | `str | None` | Lecture/Écriture |
n_series | NSeries | ColladaSaveOptions | Collection de séries de données. |
show_legend | bool | Lecture/Écriture | True (par défaut) pour afficher la légende du graphique. |
legend_position | str | Lecture/Écriture | Placement de la légende: 'right', 'left', 'top', 'bottom', 'top_right' (accepte également les formes courtes 'r', 'l', 't', 'b', 'tr'). |
smooth | bool | Lecture/Écriture | True pour utiliser des lignes lisses (spline) sur les graphiques linéaires. |
grouping | str | Lecture/Écriture | Regroupement des séries: 'standard', 'stacked', 'percentStacked', 'clustered'. |
bar_direction | str | Lecture/Écriture | ColladaSaveOptions BAR graphiques: 'bar' (horizontal) ou 'col' (vertical/colonne). |
gap_width | int | Lecture/Écriture | Espace entre les groupes de barres/colonnes, 0–500 (par défaut 150). |
overlap | int | Lecture/Écriture | Pourcentage de chevauchement des séries, -100 à 100 (par défaut 0). |
vary_colors | bool | Lecture/Écriture | True pour attribuer une couleur distincte à chaque point de données. |
first_slice_angle | int | Lecture/Écriture | Angle de départ pour le premier segment de camembert, 0–360 degrés. |
is_3d | bool | Lecture/Écriture | True pour activer le rendu 3D. |
view_3d | ChartView3D | ColladaSaveOptions | 3D rotation and perspective settings. |
axes | list[ChartAxis] | ColladaSaveOptions | Liste des axes du graphique. |
upper_left_row | int | ColladaSaveOptions | 0-based row index of the chart’s top-left anchor cell. |
upper_left_column | int | ColladaSaveOptions | 0-based column index of the chart’s top-left anchor cell. |
lower_right_row | int | ColladaSaveOptions | 0-based row index of the chart’s bottom-right anchor cell. |
lower_right_column | int | ColladaSaveOptions | 0-based column index of the chart’s bottom-right anchor cell. |
ChartCollection
ChartCollection est accessible comme ws.charts. Il contient tous les graphiques intégrés dans une feuille de calcul.
ColladaSaveOptions
add
ws.charts.add(
chart_type: ChartType,
upper_left_row: int,
upper_left_column: int,
lower_right_row: int,
lower_right_column: int
) -> ChartAjoute un graphique du type spécifié. Tous les arguments de position sont des indices de ligne/colonne à partir de 0.
add_bar
ws.charts.add_bar(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartRaccourci pour add(ChartType.BAR, ...).
add_line
ws.charts.add_line(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartRaccourci pour add(ChartType.LINE, ...).
add_pie
ws.charts.add_pie(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartRaccourci pour add(ChartType.PIE, ...).
add_area
ws.charts.add_area(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> ChartRaccourci pour add(ChartType.AREA, ...).
Propriétés et itération
| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
count | Nombre de graphiques dans la collection (lecture seule). |
__len__() | ColladaSaveOptions count. |
__iter__() | Itère sur tous les Chart objets. |
__getitem__(index) | Renvoie le Chart à base zéro index. |
NSeries
NSeries est accessible via chart.n_series. Il gère les séries de données appartenant à un graphique.
ColladaSaveOptions
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
) -> ChartSeriesAjoute une série de données. area est une chaîne de plage telle que "Sheet1!B1:B5". Définir is_vertical=True lorsque les données sont organisées en colonnes. chart_type remplace le type de graphique parent pour cette série (utilisé dans les graphiques combinés).
Propriétés et itération
| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
count | Nombre de séries (lecture seule). |
__len__() | ColladaSaveOptions count. |
__iter__() | Itère sur tous ChartSeries objets. |
__getitem__(index) | Renvoie le ChartSeries à indice zéro index. |
ChartSeries
ChartSeries représente une série de données unique dans un graphique. Obtenue via chart.n_series[index].
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
values | str | Chaîne de plage pour les données de valeurs Y (par ex., "Sheet1!B2:B6"). |
category_data | str | Chaîne de plage pour les libellés de catégorie/axe X de cette série. |
name | `str | None` |
chart_type | `ChartType | None` |
x_values | str | Chaîne de plage pour les valeurs X du graphique de dispersion. |
error_bars | `ChartErrorBars | None` |
smooth | bool | True pour utiliser des lignes lisses pour cette série. |
ColladaSaveOptions
add_error_bars
series.add_error_bars(
direction='y',
bar_type='both',
val_type='fixedVal',
val=1.0,
no_end_cap=False
) -> ChartErrorBarsAjoute des barres d’erreur à cette série et renvoie le ChartErrorBars objet.
| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
direction | 'x', 'y', 'xy' |
bar_type | 'both', 'minus', 'plus' |
val_type | 'fixedVal', 'percentage', 'stdDev', 'stdErr' |
ChartAxis
ChartAxis est accessible via chart.axes[index].
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
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 pour utiliser une échelle logarithmique. |
log_base | float | Base du logarithme lorsque is_logarithmic est True. |
crosses | str | Où cet axe croise l’axe perpendiculaire : 'autoZero', 'min', 'max'. |
crosses_at | `float | None` |
reverse_order | bool | True pour inverser le sens de l’axe. |
axis_type | str | Type de catégorie d’axe : 'catAx', 'valAx', 'dateAx', 'serAx'. |
orientation | str | 'minMax' pour le sens normal, 'maxMin' pour inversé. |
ChartView3D
ChartView3D est accessible via chart.view_3d. S’applique uniquement lorsque chart.is_3d est True.
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
rotation_x | int | Rotation autour de l’axe X (élévation), 0–90 degrés. |
rotation_y | int | Rotation autour de l’axe Y, 0–360 degrés. |
right_angle_axes | bool | True pour utiliser des axes à angle droit (vue isométrique). |
perspective | int | Distorsion de perspective, 0–100. Ignorée lorsque right_angle_axes est True. |
height_percent | int | Hauteur du graphique en pourcentage de la base, 5–500. |
depth_percent | int | Profondeur du graphique en pourcentage de la base, 20–2000. |
ChartErrorBars
ChartErrorBars est accessible via series.error_bars.Créer avec series.add_error_bars(...).
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
direction | str | Direction de la barre d’erreur : 'x', 'y', 'xy'. |
bar_type | str | Barres à afficher : 'both', 'minus', 'plus'. |
val_type | str | Type de valeur : 'fixedVal', 'percentage', 'stdDev', 'stdErr'. |
val | float | Valeur fixe ou en pourcentage utilisée lorsque val_type est 'fixedVal' ou 'percentage'. |
no_end_cap | bool | True pour omettre la ligne de terminaison sur les barres d’erreur. |
plus_formula | `str | None` |
minus_formula | `str | None` |
line_width | `int | None` |
line_color | `str | None` |
ColladaSaveOptions
L’exemple suivant écrit des données de revenu mensuel, crée un graphique à barres groupées avec un titre et deux séries de données, puis enregistre le classeur.
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")