Histogramm

Alles rund um die Programmierung mit Qt
Antworten
YouB
Beiträge: 9
Registriert: 7. August 2008 14:11

Histogramm

Beitrag von YouB »

Hallo,
ich bin neu in QT-Programmierung und möchte unterschiedliche statistische Daten in verschiedenen Widgets als Histogramme darstellen.

Kann mir da jemand weiterhelfen?

Vielen Dank,
YouB
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Schoen, und was ist nun die genaue Frage ? :lol:

Bist du nur in der QT Programmierung neu, oder auch bei C++ allgemein ?

Wenn die Frage lautet: Kann das die QT ?
lautet die Antwort: klar, weil man kann (fast) alles einbinden was mit c++ auch gehen wuerde. QT hilft nur beim programmieren :-)

hasst du schon mal ein Histogramm ohne QT programmiert ?

wenn nein, dann hast folgende optionen ....

- das histogramm selber malen. Wie man auf nem widget "malt" und was es fuer moeglichkeiten gibt -> QT referenz.

- nen schoenes fertiges Plugin benutzen, was dir schon nen passenden diagrammtyp zur verfuegung stellt. wie man die dinger einbindet und was man da beachten muss, kommt auf die technik dahinter an ... die meisten sind ActiveX komponenten unter windows, also vielleicht mal nen Blick in die doku von Active QT werfen (achtung in der freien version ned dabei).
Das wird ned reichen, paar kentnisse von ActiveX braucht man auch ... Microsoft dokus ....

- Daten nach excel transferieren und da anzeigen -> siehe ActiveX ....

- Daten nach OpenOffice / Calc transferieren und da anzeigen ... aehm OO bietet ne eigene API, da einlesen ....

- nen Plugin was direkt fuer die QT gemacht ist, benutzen .... QWT Plot kenn ich. Die funktion ist ned berauschend, aber vielleicht langts ja ... das ding ist schon nen QWidget, was fuer funktionen es dir bietet, musst da in der doku schauen ....

Fazit:
Einfach hier posten, ich will das und das helft mir mal, geht in dem Falle nicht. Besser, schon mal einlesen und wissen ansammeln, dann viel konkretere fragen stellen. Da kriegst auch vernuenftigere Antworten ....
Das ganze thema ist zu komplex, als dass dir hier wer von null bis zum fertigen Programm unter die arme greifen kann ...
Und grad fuern einstieg und um nen gefuehl fuer die QT zu kriegen waer vielleicht nen einfacherers thema sinnvoller ...

Ciao ....
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Re: Histogramm

Beitrag von Uwe »

YouB hat geschrieben:Hallo,
ich bin neu in QT-Programmierung und möchte unterschiedliche statistische Daten in verschiedenen Widgets als Histogramme darstellen.
Qwt (http://qwt.sf.net) bietet Dir ein Plot Widget in dem Du alle möglichen Arten von Diagrammen darstellen kannst.

Der Begriff "Histogramm" wird allerdings sehr unterschiedlich verwendet ( in Qwt z.B. ist das eine Darstellung von Daten der Form y = f(x1, x2), also Intervalle ). Um Dir konkret weiterhelfen zu können mußt Du daher etwas genauer darstellen, was es für Dich bedeutet.

Uwe

PS: Keine Ahnung welche Laus RHBaum über die Leber gelaufen ist.
YouB
Beiträge: 9
Registriert: 7. August 2008 14:11

Beitrag von YouB »

Ok, dann konkreter:
Eine Application mit 3 Widgets zum Anzeigen verschiedener Daten in Histogrammen.
Das gerüst für die Application, laden der Daten, ... habe ich. Was mir nicht klar ist wie erstelle ich die Histogramme, d.h. muss ich alles von Hand machen, oder gibt es da schon vorgefertigte C++-Dateien für Histogramme. Für die Histrogramme brauche ich Koordinatenachsen mit Beschriftung und die Histogrammflächen sollten auch Beschriftet sein. Wenn ich das alles von Hand machen muss, ist die Frage, von welchem Widget leite ich sinnvoller Weise ab, direkt von QWidget? Mich würde es sehr wundern, wenn ich der erste wär, der so etwas macht.

YouB
YouB
Beiträge: 9
Registriert: 7. August 2008 14:11

Beitrag von YouB »

Dann versuch ichs nochmal:
Aus einer Prozeßüberwachung fallen Daten an, z.T. als Dateien, z.T. online. Diese Daten sind diskrete Werte wie zum Beispiel Häufigkeit bestimmter Ereignisse, Dauer von Prozessen, ... Die Daten lassen sich gut Gruppieren. Die einzelnen Gruppen sollen in einer Graphik als Histogramm oder vielleicht besser Säulendiagramm dargestellt werden.
Ich habe bereits das Erfassen und Auswerten der Daten. Der User kann auswählen, welche Prozesse und welche Datengruppen er gerne beobachten möchte. Was mir noch fehlt ist die graphische Darstellung der Daten.
Wie gesagt mich würde es wundern wenn ich der erste bin der so etwas macht. Daher dachte ich es gibt vorgefertigte Schablonen (C++-Klassen)für das Anzeigen der Werte.

YouB
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dann versuchs ich jetzt mal: Es wurde jetzt mehrmals qwt erwähnt. Hast du dir das schon angeschaut?
mustermann.klaus
Beiträge: 23
Registriert: 6. April 2009 12:21
Wohnort: Berlin

Beitrag von mustermann.klaus »

Ich habs mit qwt gemacht. Wenn die Anzahl der dargestellten Kurven pro Diagramm und die Refreshrate nicht zu hoch sind, klappt es ganz gut. Was ich nicht gefunden habe, ist eine Möglichkeit ein vertikales Hist (also Balken von rechts nach links) zu malen.
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Wieso benutzt Du/Ihr nicht KD Chart?
Angeblich sollen die, die Lizenzbedingungen geändert haben.
Ich arbeite schon länger damit und kann es nur empfehlen.

LG NoRulez
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

NoRulez hat geschrieben:Wieso benutzt Du/Ihr nicht KD Chart?
Hast Du einen Link?
Und vielleicht Erfahrungsberichte?
Linux, das längste Text-Adventure aller Zeiten
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Hier der Link zu KD Chart.

Ja, also es gibt eben auch Widgets für die Darstellung.
Viele der Beispiele und auch ich bevorzugen jedoch die Model/View Thematik.
Im Prinzip übergibst du dem Objekt einfach ein Model und das Objekt zeichnet Dir dazu das Diagramm, welches Du ausgewählt hast.
Die Beispiele selbst sind jedoch sehr verständlich.
Aber Du kannst Dir ja mal eine Evaluation herunterladen.

LG NoRulez
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Beitrag von Uwe »

mustermann.klaus hat geschrieben:Was ich nicht gefunden habe, ist eine Möglichkeit ein vertikales Hist (also Balken von rechts nach links) zu malen.
curve->setCurveType(QwtPlotCurve::Xfy);

Uwe
Antworten