LINUX.ORG.RU

[c++][библиотека]Нарисовать диаграмму

 ,


0

1

Привет!

Кто может посоветовать маленькую библиотеку, которая умеет рисовать диаграммы?

Требования: на вход подается набор точек (дата/время по X, double по Y). Нужно нарисовать оси и сеточку, красиво подписать и разметить оси, нарисовать заданные точки и соединить их линиями. Возможно, нарисовать легенду. Приятный бонус - возможность рисовать несколько линий разных цветов. К проекту уже подключен буст, но в GIL, видимо, нужно делать это почти с нуля.

★★★
Ответ на: комментарий от fads

>вместо велосипедов использовать gnuplot гнуплот - не библиотека :(

vzzo ★★★
() автор топика
Ответ на: комментарий от vzzo

Ох… Все знакомые мне инструменты для рисования графиков тулкитозависимые. Мне самому очень интересны итоги этого треда. Сам использовал для этих целей Qt + Qwt. В утешение скажу что всё вышеперечисленное Qwt умеет.

KblCb ★★★★★
()
Ответ на: комментарий от whiiteliites

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

vzzo ★★★
() автор топика

Qwt, вроде бы даже развивается потихоньку. Но простые графики оно рисует настолько уебищно, что меня это не устроило, и я на коленке смастерил свой велосипед. На сложных диаграммах и графиках qwt выглядит более или менее.

staseg ★★★★★
()
Ответ на: комментарий от madgnu

>http://www.gnu.org/software/plotutils/

The current version is 2.4.1, released July 2000.The current version is 2.4.1, released July 2000.

Тоже заброшена :(

Вообще, из представленных вариантов пока больше всех понравился GDCHART, но по нему как-то исчезающе мало документации.

vzzo ★★★
() автор топика
Ответ на: комментарий от vzzo

> Тоже заброшена :(

Они работают. Что вам ещё нужно?

anonymous
()
Ответ на: комментарий от BattleCoder

По большей части да. Вообще из рисовалок ИМНО актуальны gnuplot (вечная классика) и mathGL (оч бурно развивается, для 3D картинок gnuplot уже далеко обошла).

2ТС - а какие проблемы то? Для gnuplot-а сформировал файл и вызвал его, ставится gnuplot практ везде без проблем. MathGL толстовата, но зато и файл создавать не надо - забил массив и вызвал ф-ю отрисовки.

AIv ★★★★★
()
Ответ на: комментарий от AIv

И что же надо писать, чтобы гистограмму нарисовать? Или где про это почитать? Справка про plot ничего подобного не пишет, histogramm тоже не находит... Может, и умеет, но как? %)

интернеты тоже молчат - вывод такой, что никому не было в этом надобности, видимо =) наверное, R умеет гистограммы рисовать, но хотелось бы обходиться одним инструментом для всего этого...

BattleCoder ★★★★★
()
Ответ на: комментарий от abalakin

ну про mathgl помню, сколько там тонн документации. и штука хорошая. пригодится.

просто gnuplot проще, когда надо «быстро построить график», не задумываться о том, как это сделать... А для чего-то более сложного - только mathgl.

BattleCoder ★★★★★
()
Ответ на: комментарий от BattleCoder

Хмм, разве это сложно ???

// в С++/Python mglData dat('fname.dat'); gr.YRange(dat); gr.Plot(dat); gr.Axis();

или в MGL скрипте

read dat 'fname.dat': yrange dat: plot dat: axis

abalakin ★★
()
Ответ на: комментарий от BattleCoder

> просто gnuplot проще, когда надо «быстро построить график»

Это довольно спорное утверждение - IMHO они одинаково «просты». И там и там разумные умолчания, и там и там свой скриптовый язык (только к сожалению разные). Просто gnuplot-ом владеет больше народу.

AIv ★★★★★
()
Ответ на: комментарий от abalakin

В догонку для параметрического графика из 2 колонок (x,y) в C++/Python

mglData dat('fname.dat');

gr.XRange(dat.SubData(0)); gr.YRange(dat.SubData(1));

gr.Plot(dat.SubData(0), dat.SubData(0)); gr.Axis();

или в MGL

read dat 'fname.dat': xrange dat(0): yrange dat(1)

plot dat(0) dat(1): axis

abalakin ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.