Chart — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss suporta a incorporação de gráficos em planilhas. Os gráficos são gerenciados através de ws.charts, uma ChartCollection anexado a cada Worksheet. Os dados da série são adicionados através de chart.n_series, um NSeries coleção.

Example: aspose.cells_foss

from aspose.cells_foss import ChartType

ChartType

ChartType é um IntEnum que identifica o tipo de gráfico.

ExampleExampleExample
LINE0Totalmente suportado para salvar.
BAR1Totalmente suportado para salvar.
PIE2Totalmente suportado para salvar.
AREA3Totalmente suportado para salvar.
BOX_WHISKER4Salvo usando o formato chartEx.
WATERFALL5Salvo usando o formato chartEx.
COMBO6Example NotImplementedError ao salvar.
SCATTER7Example NotImplementedError ao salvar.
STOCK8Totalmente suportado para salvar.
SURFACE9Example NotImplementedError ao salvar.
RADAR10Example NotImplementedError ao salvar.
TREEMAP11Example NotImplementedError ao salvar.
SUNBURST12Example NotImplementedError ao salvar.
HISTOGRAM13Example NotImplementedError ao salvar.
FUNNEL14Example NotImplementedError ao salvar.
MAP15Example NotImplementedError ao salvar.

Example

Chart os objetos não são construídos diretamente. Use ws.charts.add(...) ou os métodos de conveniência tipados (add_bar(), add_line(), add_pie(), add_area()).

Example

ExampleExampleExampleExample
typeChartTypeExampleTipo de gráfico definido no momento da criação.
title`strNone`Leitura/Gravação
category_data`strNone`Leitura/Gravação
n_seriesNSeriesExampleColeção de séries de dados.
show_legendboolLeitura/GravaçãoTrue (padrão) para exibir a legenda do gráfico.
legend_positionstrLeitura/GravaçãoPosicionamento da legenda: 'right', 'left', 'top', 'bottom', 'top_right' (também aceita formas abreviadas 'r', 'l', 't', 'b', 'tr').
smoothboolLeitura/GravaçãoTrue para usar linhas suaves (spline) em gráficos de linhas.
groupingstrLeitura/GravaçãoAgrupamento de séries: 'standard', 'stacked', 'percentStacked', 'clustered'.
bar_directionstrLeitura/GravaçãoExample BAR gráficos: 'bar' (horizontal) ou 'col' (vertical/coluna).
gap_widthintLeitura/GravaçãoEspaço entre grupos de barras/colunas, 0–500 (padrão 150).
overlapintLeitura/GravaçãoPorcentagem de sobreposição de séries, -100 a 100 (padrão 0).
vary_colorsboolLeitura/GravaçãoTrue para atribuir uma cor distinta a cada ponto de dados.
first_slice_angleintLeitura/GravaçãoÂngulo inicial para a primeira fatia de pizza, 0–360 graus.
is_3dboolLeitura/GravaçãoTrue para habilitar a renderização 3D.
view_3dChartView3DExample3D rotation and perspective settings.
axeslist[ChartAxis]ExampleLista de eixos do gráfico.
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 é acessado como ws.charts. Contém todos os gráficos incorporados em uma planilha.

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

Adiciona um gráfico do tipo especificado. Todos os argumentos de posição são índices de linha/coluna baseados em 0.

add_bar

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

Atalho para add(ChartType.BAR, ...).

add_line

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

Atalho para add(ChartType.LINE, ...).

add_pie

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

Atalho para add(ChartType.PIE, ...).

add_area

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

Atalho para add(ChartType.AREA, ...).

Propriedades e iteração

ExampleExample
countNúmero de gráficos na coleção (somente leitura).
__len__()Example count.
__iter__()Itera sobre todos os Chart objetos.
__getitem__(index)Retorna o Chart em base zero index.

NSeries

NSeries é acessado via chart.n_series. Ele gerencia as séries de dados pertencentes a um gráfico.

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

Adiciona uma série de dados. area é uma string de intervalo como "Sheet1!B1:B5". Defina is_vertical=True quando os dados são organizados em colunas. chart_type substitui o tipo de gráfico pai para esta série (usado em gráficos combinados).

Propriedades e iteração

ExampleExample
countNúmero de séries (somente leitura).
__len__()Example count.
__iter__()Itera sobre todos ChartSeries objetos.
__getitem__(index)Retorna o ChartSeries em base zero index.

ChartSeries

ChartSeries representa uma única série de dados dentro de um gráfico. Obtido via chart.n_series[index].

Example

ExampleExampleExample
valuesstrString de intervalo para os dados de valores Y (por exemplo,., "Sheet1!B2:B6").
category_datastrString de intervalo para os rótulos de categoria/eixo X desta série.
name`strNone`
chart_type`ChartTypeNone`
x_valuesstrString de intervalo para os valores X do gráfico de dispersão.
error_bars`ChartErrorBarsNone`
smoothboolTrue para usar linhas suaves para esta série.

Example

add_error_bars

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

Adiciona barras de erro a esta série e retorna o ChartErrorBars objeto.

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

ChartAxis

ChartAxis é acessado via chart.axes[index].

Example

ExampleExampleExample
title`strNone`
number_format`strNone`
minimum_scale`floatNone`
maximum_scale`floatNone`
major_unit`floatNone`
minor_unit`floatNone`
is_logarithmicboolTrue para usar uma escala logarítmica.
log_basefloatBase do logaritmo quando is_logarithmic é True.
crossesstrOnde este eixo cruza o eixo perpendicular: 'autoZero', 'min', 'max'.
crosses_at`floatNone`
reverse_orderboolTrue para inverter a direção do eixo.
axis_typestrTipo de categoria do eixo: 'catAx', 'valAx', 'dateAx', 'serAx'.
orientationstr'minMax' para direção normal, 'maxMin' para invertido.

ChartView3D

ChartView3D é acessado via chart.view_3d. Aplica‑se apenas quando chart.is_3d é True.

Example

ExampleExampleExample
rotation_xintRotação no eixo X (elevação), 0–90 graus.
rotation_yintRotação no eixo Y, 0–360 graus.
right_angle_axesboolTrue para usar eixos em ângulo reto (visão isométrica).
perspectiveintDistorção de perspectiva, 0–100. Ignorada quando right_angle_axes é True.
height_percentintAltura do gráfico como porcentagem da base, 5–500.
depth_percentintProfundidade do gráfico como porcentagem da base, 20–2000.

ChartErrorBars

ChartErrorBars é acessado via series.error_bars.Criar com series.add_error_bars(...).

Example

ExampleExampleExample
directionstrDireção da barra de erro: 'x', 'y', 'xy'.
bar_typestrQuais barras exibir: 'both', 'minus', 'plus'.
val_typestrTipo de valor: 'fixedVal', 'percentage', 'stdDev', 'stdErr'.
valfloatValor fixo ou percentual usado quando val_type é 'fixedVal' ou 'percentage'.
no_end_capboolTrue para omitir a linha de extremidade nas barras de erro.
plus_formula`strNone`
minus_formula`strNone`
line_width`intNone`
line_color`strNone`

Example

O exemplo a seguir grava dados de receita mensal, cria um gráfico de barras agrupadas com um título e duas séries de dados, e salva a pasta de trabalho.

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

Veja Também

 Português