![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Легенда в TChart [D7]
zero-g © (2005-02-20 13:22:00)Здравствуйте!
У меня вопрос по TChart... никогда с ним до этого не работал :)
Я создаю гистограмму
_rundiog.Chart1.SeriesList.Series[0].Add(znach[i-1],floattostr(znachX[i-1]),color_mas[ok]);
где:
znach[i-1] эт у меня Y
floattostr(znachX[i-1]) подпись по X
ну собственно тут и загвоздка, при добовление подписи по Х, формируется легенда, с этими данными, побишь YX, вот а как мне сделать, допустим так:
X=5.3 Y=4 А легенда = Размер женской ноги
Т.е. как мне отформатирывать легенду????
zero-g (2005-02-21 00:50:00) [1]Люди, ну мож кто нить объяснит что в OnGetLegendText писать надо, как им пользоваться???
zero-g (2005-02-21 00:49:00) [2]Люди, ну мож кто нить объяснит что в OnGetLegendText писать надо, как им пользоваться???
zero-g (2005-02-20 18:22:00) [3]>Chart1.OnGetLegendText
А можно поподробней ???
Дело в том, что я создаю диограму динамически, на динамической форме, и залазеть в свойство OnGetLegendText через Инспектор Объектов мне нельзя, да если честно я не шибко то понял, что там надо писать...
Вот что я пишу:
******************
type Trundiogram = class(TForm)
GroupBox1: TGroupBox;
Chart1: TChart;
private
public
end;
var _rundiog : Trundiogram;
************
procedure ShowOnForm(...);
var MySeriasClass : TChartSeriesClass;
i : integer;
ok : byte;
const color_mas : array[1..18] of TColor = (clBlack,clMaroon,clGreen,clOlive,clNavy,clPurple,
clTeal,clGray,clSilver,clRed,clLime,clYellow,
clBlue,clFuchsia,clAqua,clWhite,clMoneyGreen,
clSkyBlue);
begin
_rundiog := Trundiogram.Create(_rundiog);
_rundiog.Show();
if ansiuppercase('defline') = ansiuppercase(vid) then
MySeriasClass := TLineSeries;
if ansiuppercase('fastline') = ansiuppercase(vid) then
MySeriasClass := TFastLineSeries;
if ansiuppercase('defbar') = ansiuppercase(vid) then
MySeriasClass := TBarSeries;
if ansiuppercase('horizontbar') = ansiuppercase(vid) then
MySeriasClass := THorizBarSeries;
if ansiuppercase('area') = ansiuppercase(vid) then
MySeriasClass := TAreaSeries;
if ansiuppercase('point') = ansiuppercase(vid) then
MySeriasClass := TPointSeries;
if ansiuppercase('pie') = ansiuppercase(vid) then
MySeriasClass := TPieSeries;
_rundiog.Chart1.AddSeries( MySeriasClass.Create(_rundiog));
if d3 then
_rundiog.Chart1.View3D := true
else
_rundiog.Chart1.View3D := false;
ok := 1;
for i := 1 to kolvo do
begin
if ok > 18 then ok := 1;
_rundiog.Chart1.SeriesList.Series[0].Add(znach[i-1],floattostr(znachX[i-1]),color_mas[ok]);
inc(ok);
end;
*********************
Вот тут надо запихать значения легенды.
Например женская обувь, размер1 размер2 и т.д.
*********************
if ansiuppercase('top') = ansiuppercase(mylegend) then
_rundiog.Chart1.Legend.Alignment := laTop;
if ansiuppercase('down') = ansiuppercase(mylegend) then
_rundiog.Chart1.Legend.Alignment := laBottom;
if ansiuppercase('right') = ansiuppercase(mylegend) then
_rundiog.Chart1.Legend.Alignment := laRight;
if ansiuppercase('left') = ansiuppercase(mylegend) then
_rundiog.Chart1.Legend.Alignment := laLeft;
_rundiog.Chart1.Title.Text.Clear;
_rundiog.Chart1.Title.Text.Add(str_znach[0]);
end;
*****************************
Подскажите пожалуйста :)
Семен Сорокин (2005-02-20 16:58:00) [4]Chart1.OnGetLegendText