1.7.4.1.1. XML-дескриптор экрана
Откройте в CUBA Studio вкладку Screens и создайте экран в модуле web. Введите значение com/company/sampler/web/screens/stackedarea-chart.xml в поле Descriptor. В полях Id, Controller Name и Messages Pack будут сгенерированы подходящие значения. Сохраните изменения. Далее перейдите на вкладку XML и замените ее содержимое на следующий код:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<window xmlns="http://schemas.haulmont.com/cuba/window.xsd"
        caption="msg://caption"
        class="com.company.sampler.web.screens.StackedAreaChart"
        messagesPack="com.company.sampler.web.screens"
        xmlns:chart="http://schemas.haulmont.com/charts/charts.xsd">
    <layout>
        <chart:serialChart id="chart"
                           categoryField="year"
                           height="100%"
                           marginLeft="0"
                           marginTop="10"
                           plotAreaBorderAlpha="0"
                           width="100%">
            <chart:chartCursor cursorAlpha="0"/>
            <chart:legend equalWidths="false"
                          periodValueText="total: [[value.sum]]"
                          position="TOP"
                          valueAlign="LEFT"
                          valueWidth="100"/>
            <chart:valueAxes>
                <chart:axis gridAlpha="0.07"
                            position="LEFT"
                            stackType="REGULAR"
                            title="Traffic incidents"/>
            </chart:valueAxes>
            <chart:graphs>
                <chart:graph fillAlphas="0.6"
                             hidden="true"
                             lineAlpha="0.4"
                             title="Cars"
                             valueField="cars"/>
                <chart:graph fillAlphas="0.6"
                             lineAlpha="0.4"
                             title="Motorcycles"
                             valueField="motorcycles"/>
                <chart:graph fillAlphas="0.6"
                             lineAlpha="0.4"
                             title="Bicycles"
                             valueField="bicycles"/>
            </chart:graphs>
            <chart:categoryAxis axisColor="#DADADA"
                                gridAlpha="0.07"
                                startOnAxis="true"/>
            <chart:export/>
        </chart:serialChart>
    </layout>
</window> 
  В корневой элемент дескриптора экрана добавлен атрибут xmlns:chart:
<window xmlns:chart="http://schemas.haulmont.com/charts/charts.xsd"
    ...
> 
  Компонент chart:serialChart содержит следующие атрибуты:
-  
categoryField- ключ из набора пар, содержащихся в объектахDataItem, список которых хранится в экземпляреDataProvider, по которому будут взяты значения для подписи оси категорий. 
Компонент chart:serialChart содержит следующие элементы:
-  
chart:chartCursor- необязательный элемент, добавляющий курсор к диаграмме. Курсор следует за указателем мыши и показывает всплывающие подсказки со значениями элементов диаграммы над которыми находится указатель мыши.-  
Атрибут
cursorAlphaзадает степень непрозрачности линий курсора. 
 -  
 -  
chart:legend- определяет легенду графика.-  
Атрибут
positionопределяет положение легенды относительно диаграммы. -  
Атрибут
equalWidthsопределяет, должны ли все элементы легенды быть такой же ширины как самый широкий. -  
Атрибут
periodValueTextзадает текст, который будет показан в значении легенды, когда пользователь не располагает указатель мыши ни над одним элементом данных. Теги должны состоять из пары значений - название поля (value / open / close / high / low) и значение периода, для которого дожно быть показано значение - open / close / high / low / sum / average / count. -  
Атрибут
valueAlignзадает выравнивание значения. Возможные значения "left" и "right". -  
Атрибут
valueWidthзадает ширину значения. 
 -  
 -  
chart:valueAxes- элемент, описывающий вертикальные оси значений. В данном случае используется только одна ось, описываемая элементомchart:axis-  
Атрибут
positionзадает положение оси значений относительно диаграммы. -  
Атрибут
titleзадает заголовок оси значения. -  
Установка атрибуту
stackTypeзначенияREGULARговорит о том, что используется диаграмма с накоплением. По умолчанию значение этого атрибута -none, в таком случае используется диаграмма без накопления. -  
Атрибут
gridAlphaзадает степень непрозрачности линий сетки. 
 -  
 -  
chart:graphs- элемент, описывающий графы диаграммы. Граф описывается элементомchart:graph.-  
Атрибут
typeзадает тип графа и может быть: line, column, step line, smoothed line, ohlc и candlestick. -  
Атрибут
valueFieldопределяет ключ из набора пар, содержащихся в объектахDataItem, список которых хранится в экземпляреDataProvider, по которому будет взято значение. -  
Атрибут
fillAlphasзадает степень непрозрачности заполнения. -  
Атрибут
lineAlphaзадает степень непрозрачности линии (или рамки колонки). -  
Атрибут
hiddenопределяет, будет ли граф отображаться. 
 -  
 -  
chart:categoryAxis- элемент, описывающий ось категорий.-  
Установка атрибуту
startOnAxisзначенияtrueдает указание начинать отрисовывать график сразу от оси значений. По умолчанию этот атрибут имеет значениеfalse. В этом случае между осью значений и графиком имеется некоторый промежуток. -  
Атрибут
gridAlphaзадает степень непрозрачности линий сетки. -  
Атрибут
axisColorзадает цвет оси. 
 -  
 -  
chart:export– добавляет возможность сохранить полученный график.