Ниже представлен пример замены цветового оформления для всех рядов диаграммы. Для этого будет использована возможность сохранения и загрузки стиля в файл.
Необходимо создать форму, на которой разместить UiChart, ChartBox, и два Button.
Далее в инспекторе объектов для UiChart следует задать:
PoinCount = 1
SerieCount = 7
Затем следует описать событие «OnGetDataValue», которое используется для построения графика. Для этого необходимо перейти на закладку «События» и произвести двойной щелчок для «OnGetDataValue». Для созданного события следует написать код:
Sub UiChart1OnGetDataValue(Sender: Object; Args: IUiChartGetDataValueEventArgs);
Begin
Args.Result := True;
Args.Value := Args.PointIndex + Args.SerieIndex + 1;
End Sub UiChart1OnGetDataValue;
Для компонента Button (Сохранить стиль) необходимо задать событие OnClick:
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
doc: IXmlDomDocument;
element: IXmlDomElement;
str : string = "<?xml version=""1.0"" encoding=""utf-8""?>" + #13 + #10 + "<test/>";
Begin
doc := New DOMDocument40.Create;
doc.loadXML( str );
element := doc.documentElement;
UiChart1.Chart.SaveDecoration(element);
doc.save("c:\Temp\xml\Decor.xml");
End Sub Button1OnClick;
Для компонента Button (Загрузить стиль) необходимо задать событие OnClick:
Sub Button2OnClick(Sender: Object; Args: IMouseEventArgs);
Var
doc: IXmlDomDocument;
element: IXmlDomElement;
i: Integer;
Begin
i:= UIChart1.SerieCount;
UIChart1.SerieCount := 0; // перед загрузкой оформления диаграмма должна быть без данных (0 рядов)
UIChart1.Chart.Series.FixedCount := 0; // количество рядов, для которых сохраняем оформление
UiChart1.Chart.ResetDataCache;
doc := New DOMDocument40.Create;
doc.load("c:\Temp\xml\Decor1.xml");
element := doc.documentElement;
UiChart1.Chart.LoadDecoration(element);
UiChart1.Chart.Refresh;
UIChart1.SerieCount := i; //возвращаем первоначальное количество рядов
End Sub Button2OnClick;
После запуска программы форма будет выглядеть следующим образом:
Далее необходимо сохранить стиль в файл. Для этого нажимаем кнопку «Сохранить стиль». В полученном файле, который будет располагаться "c:\Temp\xml\Decor1.xml", в узле DefaultSerieDecoration следует поменять значения для ColorHuge0 – ColorHuge8.
Значения, которые были сохранены в файл:
<DefaultSerieDecoration>
<SeriePaletteCount type="fixed value">8</SeriePaletteCount>
<ColorHuge0>0.592000</ColorHuge0>
<ColorHuge1>1.000000</ColorHuge1>
<ColorHuge2>0.219000</ColorHuge2>
<ColorHuge3>0.737000</ColorHuge3>
<ColorHuge4>0.533000</ColorHuge4>
<ColorHuge5>0.075000</ColorHuge5>
<ColorHuge6>0.836000</ColorHuge6>
<ColorHuge7>0.152000</ColorHuge7>
Новые значения:
<DefaultSerieDecoration>
<SeriePaletteCount type="fixed value">8</SeriePaletteCount>
<ColorHuge0>0.9</ColorHuge0>
<ColorHuge1>0.8</ColorHuge1>
<ColorHuge2>0.7</ColorHuge2>
<ColorHuge3>0.6</ColorHuge3>
<ColorHuge4>0.5</ColorHuge4>
<ColorHuge5>0.4</ColorHuge5>
<ColorHuge6>0.3</ColorHuge6>
<ColorHuge7>0.2</ColorHuge7>
После задания новых значений необходимо сохранить файл. Далее следует вернуться к форме и нажать на кнопку «Загрузить стиль», после чего заливка всех рядов диаграммы будет изменена:
См. также: