Re: Рисование графико в: чем?

2003-04-17 Пенетрантность Ilya Palagin

Elena Egorova wrote:

Здравствуйте,

On Thu, Apr 17, 2003 at 02:22:05PM +0700, Ilya Palagin wrote:


Может, все-таки возьмете частя.. то есть перл? :-)))
Внизу подпрограммка, которой я рисую графики из массивов
вроде вашего.

Вот как ее вызвать:

$file = draw_diagram([EMAIL PROTECTED], [EMAIL PROTECTED])

где:
@graph_data  = [ ['1.01.2003', 1, '2.01.2003', 2, '3.01.2003', 3],
['4.01.2003', 4, '5.01.2003', 5, '6.01.2003', 6]]
т.е. array, состоящий из array-ев



Вы понимаете, что вся эта задача просто представляет собой описание сферического
коня в вакууме (так как я четко вижу искусственность проблемы, мне лень

...
Да понятно, что в вашем случае лучше пользоваться тем, чем пользуетесь вы.
Я же дал этот скриптик на тот случай, когда использование rrd суть стрельба
по воробьям из пушки.



Re: Рисование графико в: чем?

2003-04-17 Пенетрантность Ilya Palagin

Viktor Vislobokov wrote:

Elena Egorova wrote:

...

Потом там есть отличный список рассылки с удобным поиском.
А так помочь не могу - времени не хватает. %-(



  На нет и суда нет!

Виктор



Может, все-таки возьмете частя.. то есть перл? :-)))
Внизу подпрограммка, которой я рисую графики из массивов
вроде вашего.

Вот как ее вызвать:

 $file = draw_diagram([EMAIL PROTECTED], [EMAIL PROTECTED])

где:
@graph_data  = [ ['1.01.2003', 1, '2.01.2003', 2, '3.01.2003', 3], 
['4.01.2003', 4, '5.01.2003', 5, '6.01.2003', 6]]

т.е. array, состоящий из array-ев

@LEGEND = ['First', 'Second', 'Third'] - легенда

$file - имя готового графического файла



--
sub draw_diagram {

  use GD::Graph::lines;
  use GD::Graph::colour qw(:colours :convert);

  my $XLABELN = 25;   # Number of labels by X ticks
  my $XTICKSMAX = 30; # When do not draw X ticks

  my @graph_data = @{$_[0]};
  my @legend= "{$_[1]};

  my $present_file = int(rand()*100);

  #--
  # Graph adjustments
  #
  my $elem_cnt = @{$graph_data[0]};

  my $x_long_ticks = ($elem_cnt <= $XTICKSMAX) ? 1 : 0;  # Draw long X 
ticks?


  my $tmpval = $elem_cnt / $XLABELN;
  my $x_skip = ( int($tmpval) == $tmpval ) ? $tmpval : int($tmpval) + 1;

--
  # The graph
  #

  add_colour(boxclr=> [hex2rgb('#9CB2DE')]);
  add_colour(textclr   => [hex2rgb('#000D82')]);
  add_colour(legendclr => [hex2rgb('#D103D1')]);

  my $graph = GD::Graph::lines->new(500, 400);
  $graph->set(
x_label   => '',
y_label   => '',
title => "Diagram",
x_label_skip  => $x_skip,
x_all_ticks   => 1,
x_labels_vertical => 1,
x_long_ticks  => $x_long_ticks,
y_tick_number => 10,
y_long_ticks  => 1,
line_width=> 3,
fgclr => 'white',
boxclr=> 'boxclr',
labelclr  => 'textclr',
axislabelclr  => 'textclr',
legendclr => 'legendclr',
valuesclr => 'textclr',
textclr   => 'textclr'
  );

  $graph->set_legend(@legend);
  my $gd = $graph->plot([EMAIL PROTECTED]);

  open(IMG, ">$present_file.png");
  binmode IMG;
  print IMG $gd->png;
  close IMG;

  return $present_file;
}




Re: Рисование графико в: чем?

2003-04-17 Пенетрантность Viktor Vislobokov

Elena Egorova wrote:

  Помогите разобраться!


http://www.bog.pp.ru/work/rrdtool.html
Первая же ссылка на гугле.


  Google и Yandex'ом пользоваться умею ;)
  Именно после прочтения этой статьи я понял, что
average выше моего понимания :(


Потом там есть отличный список рассылки с удобным поиском.
А так помочь не могу - времени не хватает. %-(


  На нет и суда нет!

Виктор



Re: Рисование графико в: чем?

2003-04-15 Пенетрантность Viktor Vislobokov



rrdtool - хорошая вещь

>

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


   Тогда может кто из мэтров мне объяснит как им пользоваться?
   Бился полдня и простейший график так и не смог отрисовать.
   Вот например. Есть таблица из 10 значений

1.01.2003 1
1.01.2003 2
2.01.2003 1
2.01.2003 1
2.01.2003 2
3.01.2003 1
4.01.2003 1
4.01.2003 1
5.01.2003 2
5.01.2003 2

   Мне нужен простой график - по оси X дата, по оси Y значение. Как?
   Сколь я не старался, но так и не смог нормально сгенерить базу и
построить по ней столь примитивную вещь. Average вообще выше моего
понимания - что за хрень и зачем оно вообще нужно - сплошная загадка.

   Помогите разобраться!

С уважением, Виктор



Re: Рисование графико в: чем?

2003-04-14 Пенетрантность Ilya Palagin

Elena Egorova wrote:

Здравствуйте,

On Mon, Apr 14, 2003 at 04:37:27PM +0300, Bogdan wrote:


Надо рисовать графики с последующим их размещением в web.
Формулы, задающин графики, будут постоянными, меняться будут только
коэффициенты, параметры и т.д. Чем бы это реализовать? Есть идея делать
это на awt-аплетах, но хотелось бы все оставить на сервере.



rrdtool - хорошая вещь


Я вывожу графики перловым модулем GD::Graph, прямо на сервере.



Re: Рисование графико в: чем?

2003-04-14 Пенетрантность Tim Tereschenko
On Mon, 14 Apr 2003 16:37:27 +0300
Bogdan <[EMAIL PROTECTED]> wrote:

B> Надо рисовать графики с последующим их размещением в web.
B> Формулы, задающин графики, будут постоянными, меняться будут только
B> коэффициенты, параметры и т.д. Чем бы это реализовать? Есть идея делать
B> это на awt-аплетах, но хотелось бы все оставить на сервере.

Рисовал когда-то libgd-perl.
Для графиков вполне хватало.

--
Tim Tereschenko




Re: Рисование графико в: чем?

2003-04-14 Пенетрантность Герасимов Дмитрий
On Mon, 14 Apr 2003 16:37:27 +0300
Bogdan <[EMAIL PROTECTED]> wrote:

> Hi all!
> 
> Надо рисовать графики с последующим их размещением в web.
> Формулы, задающин графики, будут постоянными, меняться будут только
> коэффициенты, параметры и т.д. Чем бы это реализовать? Есть идея делать
> это на awt-аплетах, но хотелось бы все оставить на сервере.
Для веб-сервера...
perl , PHP.. ну естественно с соотв. граф. модулями. 
> 
> Best Regards, Bogdan
> 
> 
> -- 
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
>