Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: vipet от Сентябрь 24, 2009, 10:04



Название: Библиотека для рисования диаграмм и графиков
Отправлено: vipet от Сентябрь 24, 2009, 10:04
Посоветуйте плиз стороннюю либу для Qt чтобы рисовать *красивые* диграммы (charts), круговые диаграммы (pie charts) и т.п. А в идеале - чтоб умела рисовать и кучу прочих графиков (Gantt charts, напр.)

Есть такое или самому писать надо?



Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: xokc от Сентябрь 24, 2009, 22:04
qwt


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: lit-uriy от Сентябрь 25, 2009, 00:09
Ещё докучи:
QNANChartWidget (http://prog.org.ru/wiki/index.php?title=QNANChartWidget)
QwtPlot3D (http://qwtplot3d.sourceforge.net/)
QtiPlot (http://soft.proindependent.com/qtiplot.html)


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Karl-Philipp от Сентябрь 25, 2009, 10:03
vipet,
http://www.ics.com/products/qt/kdgantt/
там же можешь глянуть и диаграммы.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: vipet от Сентябрь 26, 2009, 04:47
Спасибо, но красивых диаграмм нету, придется видимо самому писать/рисовать


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: igor_bogomolov от Сентябрь 26, 2009, 15:39
Посмотрите ещё MathGL (http://mathgl.sourceforge.net/)


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: lit-uriy от Сентябрь 26, 2009, 16:03
Я так понимаю, ему нужны примерно такие же, как в экселе


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Karl-Philipp от Сентябрь 27, 2009, 18:44
Я так понимаю, ему нужны примерно такие же, как в экселе
Можно глянуть на Charts for Qt4 (http://www.wysota.eu.org/wwwidgets).


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: lit-uriy от Сентябрь 27, 2009, 23:24
Чёт я не понял, где у Высоты Charts.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: vipet от Сентябрь 28, 2009, 17:09
Посмотрите ещё MathGL (http://mathgl.sourceforge.net/)

Это для меня 1. перебор 2. не то, что нужно

Я так понимаю, ему нужны примерно такие же, как в экселе

Типа того.

Я так понимаю, ему нужны примерно такие же, как в экселе
Можно глянуть на Charts for Qt4 (http://www.wysota.eu.org/wwwidgets).

Тут чартов не нашел

Короче, ничего приличного нету, пишу свое.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Karl-Philipp от Сентябрь 28, 2009, 18:32
...

Я так понимаю, ему нужны примерно такие же, как в экселе
Можно глянуть на Charts for Qt4 (http://www.wysota.eu.org/wwwidgets).

Тут чартов не нашел

Короче, ничего приличного нету, пишу свое.
Извиняюсь, вот правильная ссылка http://www.wysota.eu.org/charts.html


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: lit-uriy от Сентябрь 28, 2009, 19:56
terlan, даже не знал, что у него такая штука есть.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: vipet от Сентябрь 28, 2009, 23:57
...

Я так понимаю, ему нужны примерно такие же, как в экселе
Можно глянуть на Charts for Qt4 (http://www.wysota.eu.org/wwwidgets).

Тут чартов не нашел

Короче, ничего приличного нету, пишу свое.
Извиняюсь, вот правильная ссылка http://www.wysota.eu.org/charts.html

Спасибо, но там только 1 вид диаграммы, выглядит фигово, проект старый, не развивается.
Хотя идея сделать диаграммы на MVC может быть неплоха


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: forallstuff от Август 12, 2010, 11:17
Что-нибудь изменилось? Необходимо рисовать круговые диаграммы, ничего хорошего найти не могу.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Nightmaster от Сентябрь 15, 2010, 22:23
Нужны были примерно экселевские рисуночки, не нашёл как и многие. Потом написал простенький класс который умеет рисовать гистограму, пирог, и обьёмный пирожок.
Специально Не перегружал замудрёнными методами, может кому пригодится!
Всё очень просто буквально в 10 строк.
Начальный угол можно указывать(если его всё время менять то пирог будет крутится):

P.S Класс только отрисовывает, тоесть считать он не умеет(может добавлю сам).
Когда добавляете кусочки нужно указывать процент(чтобы в сумме было 100).
Например :
PieChart->addPiece("Item1",QColor(200,10,50),20);
PieChart->addPiece("Item2",Qt::green,30);
PieChart->addPiece("Item3",Qt::cyan,50);

http://qt-apps.org/content/show.php/NightCharts%28Draw+Charts%29?content=132560

На вид выглядит довольно сносно имхо.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: BRE от Сентябрь 15, 2010, 22:35
Nightmaster
Сразу бросилось в глаза:
Код
C++ (Qt)
int Nightcharts::addPiece(QString name,Qt::GlobalColor color,float Percentage)
{
   pieceNC *piece = new pieceNC;
   ...
   pieces.append(*piece);
}
 
Для чего выделяешь память в куче? Память же течет.
Создавай объект piece на стеке.

И вот сохранение указателя на QPainter в конструкторе...
IMHO, лучше его передавать непосредственно в методы draw/drawLegend.
Иначе, кто-то может передать указатель на рисовальщик в конструкторе, а до вызова draw этот рисовальщик можно успеть удалить.
Также нельзя создать объект класса Nightcharts не указав ему паинтера.


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Nightmaster от Сентябрь 15, 2010, 22:49
Nightmaster
Сразу бросилось в глаза:
Код
C++ (Qt)
int Nightcharts::addPiece(QString name,Qt::GlobalColor color,float Percentage)
{
   pieceNC *piece = new pieceNC;
   ...
   pieces.append(*piece);
}
 
Для чего выделяешь память в куче? Память же течет.
Создавай объект piece на стеке.

И вот сохранение указателя на QPainter в конструкторе...
IMHO, лучше его передавать непосредственно в методы draw/drawLegend.
Иначе, кто-то может передать указатель на рисовальщик в конструкторе, а до вызова draw этот рисовальщик можно успеть удалить.
Также нельзя создать объект класса Nightcharts не указав ему паинтера.

Спасибо большое, действительно варианты хорошие. Без стороннего глаза и не подумаешь что можно подругому :)
Кстате там конкретно протекало изначально. Сейчас тоже замечено, хотя вектор очищается в деструкторе. Но на самом деле правильно если подумать использовать везде стеки где это возможно.



Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Nightmaster от Сентябрь 16, 2010, 09:15
Обновил : убрал динамическое выделение памяти перед добавлением в вектор.
И теперь указатель на QPainter передается непосредственно  в методы draw/drawLegend.
Следовательно класс можно обьявлять до создания QPainter;

Спасибо BRE


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: lit-uriy от Сентябрь 16, 2010, 12:11
скрины симпотичные.
Но на аппсах лучше в раздел "Widgets" поместить. Там оно логичнее. ведь это не целая программа


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: vipet от Сентябрь 16, 2010, 18:33
Нужны были примерно экселевские рисуночки, не нашёл как и многие. Потом написал простенький класс который умеет рисовать гистограму, пирог, и обьёмный пирожок.
Специально Не перегружал замудрёнными методами, может кому пригодится!
Всё очень просто буквально в 10 строк.
Начальный угол можно указывать(если его всё время менять то пирог будет крутится):

P.S Класс только отрисовывает, тоесть считать он не умеет(может добавлю сам).
Когда добавляете кусочки нужно указывать процент(чтобы в сумме было 100).
Например :
PieChart->addPiece("Item1",QColor(200,10,50),20);
PieChart->addPiece("Item2",Qt::green,30);
PieChart->addPiece("Item3",Qt::cyan,50);

http://qt-apps.org/content/show.php/NightCharts%28Draw+Charts%29?content=132560

На вид выглядит довольно сносно имхо.

Как для программиста - выглядит нормально, как для граф. дизайнера - поделка. (Я имею в виду только внешний вид диаграмм.)


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Nightmaster от Сентябрь 16, 2010, 18:52
ну я никаким боком не дизайнер :) даже рисовать то не умею. :) Всё приличное на Qt стоит денег


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Denjs от Сентябрь 16, 2010, 21:06
vipet,
http://www.ics.com/products/qt/kdgantt/
там же можешь глянуть и диаграммы.
is it free? how much does it costs?
скока денег сиё удовольствие стоит? или таки бесплатна?


Название: Re: Библиотека для рисования диаграмм и графиков
Отправлено: Nightmaster от Сентябрь 16, 2010, 23:26
вот их же KD Charts стоит вроде бы 800 евро