TAChart Draw zeichnet keine Achsen labels

Rund um die LCL und andere Komponenten
Antworten
niotronic
Beiträge: 6
Registriert: Do 8. Dez 2016, 11:10
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Larnaka, Zypern
Kontaktdaten:

TAChart Draw zeichnet keine Achsen labels

Beitrag von niotronic »

Hallo allerseits,

ich habe einem TAChart mehrere TBarSeries, sowie eine TListChartSource zur manuellen Definition der Achsenbeschriftung der BottomAxis hinzugefügt. Angezeigt wird alles wunderbar - so wie erwartet, wenn ich allerdings den Chart mit der TAChart.Draw Prozedur auf dem Drucker ausgeben will erscheint alles bis auf die Achsenbeschriftung (Bottom und Leftaxis)- diese fehlt ?? - Bei Verwendung von TLineSeries hingegen wird auch die Achsenbeschriftung mit ausgegeben ? - Ich habe das bei Lazarus 1.6RC2 vorhandene Demoprojekt zur Demonstration adaptiert und hochgeladen...
Die alternative Methode TChart.PaintOnCanvas produziert das gleiche Ergebnis - fehlende Achsenbeschriftung

mfg

Klaus
Dateianhänge
printdemo.zip
Lazarus Printdemo mit TBarSeries
(7.92 MiB) 55-mal heruntergeladen

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von Mathias »

Ich habe dein Code kompiliert, im Anhang sieht man das Ergebniss, eine Achsenbeschriftung habe ich.
Das einzige was es mir verstümmelt, ist der Titel.
Vielleicht liegt es daran, das ich ein PDF habe und du ein richtiger Drucker.

Egal ob ich den Umweg über Canvas mache, ich habe beides mal die gleiche Ergebnisse.
Dateianhänge
job_6-untitled_document.pdf
(9.73 KiB) 40-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

niotronic
Beiträge: 6
Registriert: Do 8. Dez 2016, 11:10
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Larnaka, Zypern
Kontaktdaten:

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von niotronic »

Spannende Sache !
Hast Du es auf einer Windows, oder Linux Maschine compiliert ? - Ich habe Lazarus nur auf einem x86 Linux Rechner laufen.
Bei mir sind definitiv keine Achsenlabels zu sehen...

LG
Dateianhänge
job_120-untitled_document.pdf
Ausdruck mit Linux CUPS-PDF Printer (sieht auf meinen beiden Anderen Druckern gleich aus)
(3.26 KiB) 37-mal heruntergeladen

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von wp_xyz »

Ich kann das Fehlen der Achsenbeschriftung nicht nachvollziehen. Bei mir ist sie vorhanden, allerdings sehr klein. Das liegt daran, dass du die Fontgröße für Marks.Labelfont etc. auf ihrem Defaultwert 0 belassen hast. "0" bedeutet: Größe des Defaultfonts im Betriebssystem. Beim Drucken werden alle Koordinaten mit einem Umrechnungsfaktor multipliziert. Das funktionert aber nicht bei Werten, die 0 sind, denn null mal null ist wieder null. Du kannst das umgehen, indem du die Fontgrößen auf einen Wert >0 setzt, z.B. 10.

Bei deiner alten Version fallen dann die Linienbreiten noch sehr dünn aus. Das habe ich vor einiger Zeit behoben. leider ist das als neues Feature nicht in der aktuellen Release-Version enthalten, und du müsstest dir Lazarus-Trunk installieren, um das zu testen. (Nimm fpcupdeluxe, damit ist das ein Klacks, und das lässt deine aktuelle Installation in Ruhe).

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von Mathias »

Hast Du es auf einer Windows, oder Linux Maschine compiliert ? - Ich habe Lazarus nur auf einem x86 Linux Rechner laufen.

Linux Mint 64Bit.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von wp_xyz »

Danke für den Hinweis auf Linux. Damit kann ich das "Problem" reproduzieren. Allerdings ist es kein Problem, die Antwort steht schon in meinem 1.Post: Setze einfach die Font-Größe für Left/BottomAxis.Marks.LabelFont und Title.Font auf einen Wert <> 0, etwa 10 oder 12. Offenbar verhält sich die Fontgröße 0 unter Linux auf dem Drucker etwas anders als unter Windows.

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von Mathias »

Offenbar verhält sich die Fontgröße 0 unter Linux auf dem Drucker etwas anders als unter Windows.

Da es bei mir läuft, aber bei niotronic nicht, könnte dies am PDF liegen, da wir beide Linux verwenden ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von wp_xyz »

Möglich

niotronic
Beiträge: 6
Registriert: Do 8. Dez 2016, 11:10
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Larnaka, Zypern
Kontaktdaten:

Re: TAChart Draw zeichnet keine Achsen labels

Beitrag von niotronic »

Nachdem ich, wie von wp_xyz erkannt Marks.Labelfont.Size auf z.B. 10 gesetzt habe (war defaultmäßig 0) werden jetzt auch auf der Linuxmaschine die Achsenlabels angezeigt !
Danke !

Antworten