Praca z wykresami

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

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ą cztery różne przeciążenia metody Add serii, która została udostępniona 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 kodu 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 poprzez obiekt 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.

Zmieńmy na przykład tytuł wykresu lub zachowanie legendy:

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 poprzez kolekcję chart.Series, czyli IEnumerable:

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ę wykres.Seria.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 LegendKey, CategoryName, SeriesName, Value 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 Chart Series. Te właściwości obejmują ShowCategoryName, ShowBubbleSize, ShowPercentage, ShowSeriesName, ShowValue itp.:

Proszę zobaczyć wynik poniżej:

pie-chart-aspose-words-net

Jak sformatować numer etykiety danych wykresu

Za pomocą NumberFormat 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 TickLabelsX**.Wyrównanie**.

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 ForeColor, BackColor, Visible i Transparency w klasie Stroke.

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

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Column, 432, 252);

Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;

// Delete default generated series.
seriesColl.Clear();

// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };

// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });

// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;

doc.Save(dir + "ColumnColor.docx");

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

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);

Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;

// Delete default generated series.
seriesColl.Clear();

// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 },
	new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 },
	new double[] { 3, 1, 2 });

// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;

doc.Save(dir + "LineColorAndWeight.docx");