Добавление текста к графику в Perl GD::Graph?

Я рисую график, используя модуль GD::Graph в Perl.

Я могу хорошо нарисовать график, но в нарисованном изображении я хочу добавить текст вокруг верхней части нарисованного изображения графика. В основном просто хочу добавить текст к этому нарисованному изображению. Однако я не вижу возможности сделать это.

Кто-нибудь знает, выполнимо ли это?


person Community    schedule 08.04.2009    source источник
comment
Меня всегда поражало, насколько непрофессионально выглядят эти графики. Вы смотрели другие варианты?   -  person ojblass    schedule 08.04.2009
comment
:( это для задания, и мы должны использовать это. если у вас есть какие-либо предложения, я хотел бы посмотреть на них в свободное время   -  person    schedule 08.04.2009
comment
Все лучшие варианты (на языке R) не требуют небольшой кривой обучения. Я надеялся, что ты знаешь :(   -  person ojblass    schedule 08.04.2009
comment
GD::Graph уродлив и внутри. Мне пришлось создать свой собственный тип графика для проекта — фигня. Однако он взрослый и мощный. Здесь есть несколько предложений для других библиотек: perlmonks.org/?node_id=606732   -  person daotoad    schedule 08.04.2009
comment
Вы можете сделать GD::Graph довольно красивыми, но стандартные очень просты.   -  person brian d foy    schedule 08.04.2009


Ответы (3)


В следующей статье описаны методы включения текста с помощью GD::Graph. Я думаю, если вы хотите написать на самом графике, вы можете не найти ничего полезного в этой статье.

person ojblass    schedule 08.04.2009

Когда у вас есть объект GD, вы можете делать все, что позволяет вам делать GD, включая добавление дополнительного текста:

$gd = $graph->plot( \@data );

$gd->string($font,$x,$y,$string,$color);

Если вы просто хотите добавить заголовки или метки осей, это уже встроено в GD::Graph.

person brian d foy    schedule 08.04.2009

Вы пробовали заголовок?

Из раздела ПРИМЕНЕНИЕ:

$graph->set( 
    x_label           => 'X Label',
    y_label           => 'Y label',
    title             => 'Some simple graph',
    y_max_value       => 8,
    y_tick_number     => 8,
    y_label_skip      => 2 
) or die $my_graph->error;

Изменить:

Видимо, я неправильно понял вопрос, и текст должен быть наложен на область диаграммы. В этом случае экспериментальный метод get_feature_coordinates, по-видимому, можно использовать для получения "координат прямоугольника внутри осей", и из этого вы должны знать, где вы можете рисовать непосредственно на GD::Image, который вы получить от $graph->plot(\@data)

person Cebjyre    schedule 08.04.2009
comment
да, я знаю об атрибуте title. Однако он отображается поверх основного графика. Я хотел иметь текст где-то между осями x и y - person ; 08.04.2009
comment
Ах, так вы хотите, чтобы текст накладывался поверх фактической области диаграммы? Вероятно, стоит уточнить это в вашем вопросе. - person Cebjyre; 08.04.2009