Работа с графиками

В класс DocumentBuilder был добавлен новый метод insertChart. Итак, давайте посмотрим, как вставить простую столбчатую диаграмму в документ, используя метод insertChart.

Как вставить диаграмму с нуля, используя Aspose.Words

В этом разделе мы узнаем, как вставить диаграмму в документ.

Вставить столбчатую диаграмму

В следующем примере кода показано, как вставить столбчатую диаграмму:

Код выдает следующий результат:

column-chart-aspose-words-java-1

Для метода добавления рядов существует четыре различных режима перегрузки, которые были применены для охвата всех возможных вариантов источников данных для всех типов диаграмм:

Код выдает следующий результат:

column-chart-aspose-words-java-2

Вставить точечную диаграмму

В следующем примере кода показано, как вставить точечную диаграмму:

Код выдает следующий результат:

scutter-chart-aspose-words-java

Вставка диаграммы области

В следующем примере кода показано, как вставить областную диаграмму:

Код выдает следующий результат:

area-chart-aspose-words-java

Вставить пузырьковую диаграмму

В следующем примере кода показано, как вставить пузырьковую диаграмму:

Код выдает следующий результат:

bubble-chart-aspose-words-java

Работа с графиками через объект Shape.Chart

После того, как диаграмма была вставлена и заполнена данными, вы можете изменить ее внешний вид. Shape.Chart свойство содержит все связанные с диаграммой параметры, доступные через общедоступный API.

Например, давайте изменим название диаграммы или поведение условных обозначений:

Код генерирует следующие результаты:

line-chart-aspose-words-java-1

Как работать с ChartSeriesCollection диаграммы

Давайте заглянем в коллекцию ChartSeries. Все серии диаграмм доступны в коллекции chart.getSeries(), которая называется Iterable.:

Вы можете удалять ряды по одному или очистить их все, а также добавить новый, если это необходимо. Во вновь вставленной диаграмме в эту коллекцию добавлены некоторые ряды по умолчанию. Чтобы удалить их, вам нужно вызвать метод chart.getSeries().clear().

Работа с одним классом ChartSeries

Вот как работать с конкретной серией.

Пожалуйста, ознакомьтесь с результатом ниже:

line-chart-aspose-words-java-2

Все одиночные ChartSeries имеют параметры по умолчанию ChartDataPoint, пожалуйста, попробуйте изменить их с помощью следующего кода:

line-chart-aspose-words-java3

Как работать с одним ChartDataPoint из ChartSeries

Используя ChartDataPoint, вы можете настроить форматирование отдельной точки данных в ряду диаграмм:

Пожалуйста, ознакомьтесь с результатом ниже:

line-chart-aspose-words-java-4

Как работать с ChartDataLabel из одного ChartSeries

Используя ChartDataLabel, вы можете задать форматирование отдельной метки данных в серии диаграмм, например, показать/скрыть LegendKey, CategoryName, SeriesName, Значение и т.д:

Пожалуйста, ознакомьтесь с результатом ниже:

bar-chart-aspose-words-java

Как определить параметры по умолчанию для ChartDataLabels из ChartSeries

Класс ChartDataLabelCollection определяет свойства, которые можно использовать для установки параметров по умолчанию для ChartDataLabels для диаграммы Series. Эти свойства включают в себя setShowCategoryName, setShowBubbleSize, setShowPercentage, setShowSeriesName, setShowValue и т.д:

Пожалуйста, ознакомьтесь с результатом ниже:

pie-chart-aspose-words-java

Как отформатировать номер метки данных диаграммы

Используя свойство NumberFormat, вы можете задать числовое оформление отдельной метки данных диаграммы.

В следующем примере кода показано, как отформатировать номер метки данных:

Как задать свойства оси диаграммы

Если вы хотите работать с осью диаграммы, масштабированием и единицами отображения для оси значений, пожалуйста, используйте классы ChartAxis, AxisDisplayUnit и AxisScaling.

В следующем примере кода показано, как определить свойства осей X и Y:

Как установить значение DateTime для оси

В следующем примере кода показано, как задать значения даты и времени для свойств оси:

Как отформатировать числовое значение оси

В следующем примере кода показано, как изменить формат чисел на оси значений:

Как установить границы оси

Класс AxisBound представляет минимальную или максимальную границу значений оси. Граница может быть задана в виде числа, даты и времени или специального “автоматического” значения.

В следующем примере кода показано, как задать границы оси:

Как установить единицу измерения интервала между надписями

В следующем примере кода показано, как задать единицу измерения интервала между метками на оси:

Как скрыть ось диаграммы

Если вы хотите отобразить или скрыть ось диаграммы, вы можете просто добиться этого, установив значение свойства ChartAxis.Hidden.

В следующем примере кода показано, как скрыть ось Y на диаграмме:

Как выровнять метку диаграммы

Если вы хотите задать выравнивание текста для многострочных надписей, вы можете просто добиться этого, установив значение свойства setTickLabelAlignment().

В следующем примере кода показано, как установить флажок для выравнивания меток:

Как настроить форматирование заливки и обводки

Для рядов диаграмм, точек данных и маркеров можно задать форматирование заливки и обводки. Для этого вам необходимо использовать свойства типа ChartFormat в классах ChartSeries, ChartDataPoint и ChartMarker, а также псевдонимы для некоторых свойств, таких как ForeColor, BackColor, Visible и Transparency в классе Stroke.

В следующем примере кода показано, как задать цвет серии:

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("ColumnColor.docx");

В следующем примере кода показано, как задать цвет и вес линии:

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("LineColorAndWeight.docx");