Praca z wykresami

Do klasy DocumentBuilder dodano nową metodę insert_chart. Zobaczmy więc, jak wstawić prosty wykres kolumnowy do dokumentu za pomocą metody DocumentBuilder.insert_chart:

Jak wstawić wykres

W tej sekcji dowiemy się, jak wstawić wykres do dokumentu.

Wstaw wykres kolumnowy

Poniższy przykład kodu pokazuje, jak wstawić wykres kolumnowy:

Kod generuje następujący wynik:

create-column-chart-aspose-words-net

Istnieją metody add, add_double i add_date, które zostały wyeksponowane w celu uwzględnienia wszystkich możliwych wariantów źródeł danych dla wszystkich typów wykresów:

Kod generuje następujący wynik:

create-column-chart-from-datasource-aspose-words-net

Wstaw wykres punktowy

Poniższy przykład pokazuje, jak wstawić wykres punktowy.

Kod generuje następujący wynik:

scatter-chart-aspose-words-net

Wstaw wykres warstwowy

Poniższy przykład kodu pokazuje, jak wstawić wykres warstwowy:

Kod generuje następujący wynik:

area-chart-aspose-words-net

Wstaw wykres bąbelkowy

Poniższy przykład kodu pokazuje, jak wstawić wykres bąbelkowy:

Kod generuje następujący wynik:

bubble-chart-aspose-words-net

Praca z wykresami za pomocą obiektu Shape.chart

Po wstawieniu i wypełnieniu wykresu danymi istnieje możliwość zmiany jego wyglądu. Właściwość Shape.chart zawiera wszystkie opcje związane z wykresami dostępne w publicznym API.

Na przykład zmieńmy tytuł lub legendę Chart:

Kod generuje następujące wyniki:

line-chart-aspose-words-net

Jak pracować z ChartSeriesCollection of Chart

Przyjrzyjmy się kolekcji ChartSeries. Wszystkie serie wykresów są dostępne w kolekcji Chart.series:

Możesz usuwać serie pojedynczo lub wyczyścić wszystkie, a jeśli zajdzie taka potrzeba, dodać nową. Nowo wstawiony wykres zawiera kilka domyślnych serii dodanych do tej kolekcji. Aby je usunąć należy wywołać metodę chart.series.clear().

Praca z klasą Single ChartSeries

Oto jak pracować z konkretną serią.

Proszę zobaczyć wynik poniżej:

line-chart-chartseries-aspose-words-net

Wszystkie pojedyncze ChartSeries mają domyślne opcje ChartDataPoint. Spróbuj użyć poniższego kodu, aby je zmienić:

Proszę zobaczyć wynik poniżej:

line-chart-chartdatapoint-aspose-words-net

Jak pracować z pojedynczym ChartDataPoint w ChartSeries

Korzystając z ChartDataPoint, możesz dostosować formatowanie pojedynczego punktu danych w serii wykresów:

Proszę zobaczyć wynik poniżej:

line-chart-datapoint-aspose-words-net

Jak pracować z ChartDataLabel pojedynczej serii wykresów

Używając ChartDataLabel, możesz określić formatowanie pojedynczej etykiety danych serii wykresów, np. pokaż/ukryj klucz legendy, nazwę kategorii, nazwę serii, wartość itp.

Proszę zobaczyć wynik poniżej:

bar-chart-aspose-words-net

Jak zdefiniować domyślne opcje dla ChartDataLabels w ChartSeries

Klasa ChartDataLabelCollection definiuje właściwości, których można użyć do ustawienia domyślnych opcji dla ChartDataLabels dla serii wykresów. Właściwości te obejmują show_category_name, show_bubble_size, show_percentage, show_series_name, show_value itp.

Proszę zobaczyć wynik poniżej:

pie-chart-aspose-words-net

Jak sformatować numer etykiety danych wykresu

Za pomocą ChartDataLabel.number_format możesz określić formatowanie liczbowe pojedynczej etykiety danych wykresu.

Poniższy przykład kodu pokazuje, jak sformatować numer etykiety danych:

Jak ustawić właściwości osi wykresu

Jeśli chcesz pracować z osią wykresu, skalowaniem i jednostkami wyświetlania dla osi wartości, użyj klas ChartAxis, AxisDisplayUnit i AxisScaling.

Poniższy przykład kodu pokazuje, jak zdefiniować właściwości osi X i Y:

Jak ustawić wartość czasu Date osi

Poniższy przykład kodu pokazuje, jak ustawić wartości daty/godziny dla właściwości osi:

Jak sformatować wartość liczbową osi

Poniższy przykład kodu pokazuje, jak zmienić format liczb na osi wartości:

Jak ustawić granice osi

Klasa AxisBound reprezentuje minimalną lub maksymalną granicę wartości osi. Powiązanie można określić jako wartość liczbową, datę i godzinę lub specjalną wartość “automatyczną”.

Poniższy przykład kodu pokazuje, jak ustawić granice osi:

Jak ustawić jednostkę odstępu między etykietami

Poniższy przykład kodu pokazuje, jak ustawić jednostkę odstępu między etykietami na osi:

Jak ukryć oś wykresu

Jeśli chcesz pokazać lub ukryć oś wykresu, możesz to po prostu osiągnąć, ustawiając wartość właściwości ChartAxis.hidden.

Poniższy przykład kodu pokazuje, jak ukryć oś Y wykresu:

Jak wyrównać etykietę wykresu

Jeśli chcesz ustawić wyrównanie tekstu dla etykiet wielowierszowych, możesz to po prostu osiągnąć, ustawiając wartość właściwości ChartAxis.tick_label_alignment.

Poniższy przykład kodu pokazuje, jak zaznaczyć wyrównanie etykiet:

Jak ustawić formatowanie wypełnienia i obrysu

Formatowanie wypełnienia i obrysu można ustawić dla serii wykresów, punktów danych i znaczników. Aby to zrobić, należy użyć właściwości typu ChartFormat w klasach ChartSeries, ChartDataPoint i ChartMarker, a także aliasów dla niektórych właściwości, takich jak fore_color, back_color, visible i transparency w klasie Stroke.

Poniższy przykład kodu pokazuje, jak ustawić kolor serii:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252)

chart = shape.chart
seriesColl = chart.series

# Delete default generated series.
seriesColl.clear()

# Create category names array.
categories = [ "AW Category 1", "AW Category 2" ]

# Adding new series. Value and category arrays must be the same size.
series1 = seriesColl.add("AW Series 1", categories, [ 1, 2 ])
series2 = seriesColl.add("AW Series 2", categories, [ 3, 4 ])
series3 = seriesColl.add("AW Series 3", categories, [ 5, 6 ])

# Set series color.
series1.format.fill.fore_color = drawing.Color.red
series2.format.fill.fore_color = drawing.Color.yellow
series3.format.fill.fore_color = drawing.Color.blue

doc.save(docs_base.artifacts_dir + "WorkingWithCharts.set_series_color.docx")

Poniższy przykład kodu pokazuje, jak ustawić kolor i wagę linii:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252)

chart = shape.chart
seriesColl = chart.series

# Delete default generated series.
seriesColl.clear()

# Adding new series.
series1 = seriesColl.add_double("AW Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ])
series2 = seriesColl.add_double("AW Series 2", [ 0.5, 1.5, 2.5 ], [ 3, 1, 2 ])

# Set series color.
series1.format.stroke.fore_color = drawing.Color.red
series1.format.stroke.weight = 5
series2.format.stroke.fore_color = drawing.Color.light_green
series2.format.stroke.weight = 5

doc.save(docs_base.artifacts_dir + "WorkingWithCharts.line_color_and_weight.docx")