Seite 1 von 1

[Gelöst] QWT-Minorticks ausblenden

Verfasst: 19. April 2013 11:54
von mabralume
Mahlzeit ,

ein Problem gelöst und schon taucht ein Neues auf :?

Meine X-Skala ist auf Zeitbasis und an ihr hab ich die Ticks schon korrekt gesetzt. Die Y-Scala wollte ich ebenfalls so zusammenbauen, allerdings werden mir die Minorticks angezeigt, wo ich aber nur die Majorticks haben will. Ich will also zwischen den Majors KEINE weiteren Striche oder ähnliches angezeigt haben. Die Y-Scala geht von 0-15 , feste Werte. Ich möchte gern das eben nur die Ticks/Striche an den Positionen 1,2,3 usw. angezeigt werden und NICHT dazwischen.

Folgenden Code verwende ich :

Code: Alles auswählen


qwtPlot->setAxisScale(QwtPlot::yLeft,0,15,1);

QwtScaleDiv* sdiv = qwtPlot->axisScaleDiv(QwtPlot::yLeft);                     
QList<double> newTickList;                                                        

 for(int i = 0; i<16; i++)
 {
    newTickList.append(i);
 }
 sdiv->setTicks(QwtScaleDiv::MajorTick,newTickList);

und der funktioniert nicht. Die Scala wird erstellt mit Majorticks von 0-15 aber zwischen den Ticks sind eben immer wieder Minor's bzw. die kürzeren Striche.

Screenshot :

Bild

Die Steuerspur soll eben nur die Major's anzeigen, also quasi die längeren Striche. Wie mache ich das ?

mfg
MB

Re: QWT-Minorticks ausblenden

Verfasst: 19. April 2013 13:44
von mabralume
So kanns gehen , einfach mal drüber schreiben :lol: - Habs gefunden, es gibt in der Klasse QwtPlot die Operation setAxisMaxMinor , damit kann man die Anzahl der Minor's einstellen :shock: :roll:

Also ehrlich, in der Plotklasse selber hätt ich jetzt nicht danach gesucht, ich hab immer in den ganzen Scale-Klassen von Qwt nach einer entsprechenden Funktion gesucht ...

Egal, die Lösung lautet : qwtPlot->setAxisMaxMinor( QwtPlot::yLeft, 0); -> setzt die Anzahl der Minor's in der Skala auf 0 und es werden nur die Major's angezeigt.


Schönes Wochenende !

mfg
MB