[gnuplot] Sonderzeichen

Smalltalk
Antworten
Benutzeravatar
GregorS
Beiträge: 2518
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

[gnuplot] Sonderzeichen

Beitrag von GregorS » 23.01.2023 19:08:38

Hallo allerseits!

Um meinen neuen Rechner ein bisschen kennen zu lerrnen, habe ich mir ein Gebilde aus cron-Befehl (zum „Aufzeichnen“ von Last-/Temperaturdaten), einem Shellscript und einem Gnuplot-Script gebaut.
Das aktuelle Endergebnis (PDF) ist hier zu finden: https://test.szaktilla.de/plot4.pdf
Das Gnuplot-Script:

Code: Alles auswählen

#!/bin/gnuplot

FN1="/home/gszaktilla/.var/log/temperature.1week.log"
FN2="/home/gszaktilla/.var/log/temperature.48hrs.log"
FN3="/home/gszaktilla/.var/log/temperature.24hrs.log"
FN4="/home/gszaktilla/.var/log/temperature.6hrs.log"

set fontpath "/usr/share/fonts/opentype/gekauft/"

set terminal postscript color \
    font "HelveticaNeueLTStd-LTCn.otf,8" \
    enhanced

set output "/tmp/plot.ps"

set timefmt "%d.%m.%y-%H:%M:%S"
set xdata time
set format x "%d.%m, %H:%M"
set xtics rotate by -30
set ytics 10
set grid
set yrange [0:100]
set ylabel "Temperatur bzw. Systemlast"
set multiplot layout 2,2 rowsfirst \
    title "Last und Temperatur" font "HelveticaNeueLTStd-LTCn.otf,18"

set title "Letzte 10.080 Werte ({/Symbol \263}  1 Woche)"
plot FN1 using 1:3 title "Systemlast ({/Symbol \306} letzte 5 Minuten x 10)" with lines, \
     FN1 using 1:5 title "CPU-Temperatur [{/Symbol \260}C]" with lines;

set title "Letzte 2880 Werte ({/Symbol \263} 48 Stunden)"
plot FN2 using 1:3 title "Systemlast ({/Symbol \306} letzte 5 Minuten x 10)" with lines, \
     FN2 using 1:5 title "CPU-Temperatur [{/Symbol \260}C]" with lines;

set title "Letzte 1440 Werte ({/Symbol \263} 24 Stunden)"
plot FN3 using 1:3 title "Systemlast ({/Symbol \306} letzte 5 Minuten x 10)" with lines, \
     FN3 using 1:5 title "CPU-Temperatur [{/Symbol \260}C]" with lines;

set title "Letzte 360 Werte ({/Symbol \263} 6 Stunden)"
plot FN4 using 1:3 title "Systemlast ({/Symbol \306} letzte 5 Minuten x 10)" with lines, \
     FN4 using 1:5 title "CPU-Temperatur [{/Symbol \260}C]" with lines;

#eof
Um die Sonderzeichen (Durchschnitt, Größer-gleich, ...) dort hineinzubekommen, habe ich mir einige Tage ganz schöne Knoten ins Hirn gemacht. Eigentlich sollte man Unicode-Zeichen mittels einem Konstrukt der Art
"Text \\U+2265"
verwenden können, aber das funktioniert bei mir nicht (die Zeichen erscheinen im Ergebnis schlicht nicht). Am Ende habe ich einen Symbol-Font und einzelne Zeichen daraus verwendet (s. Gnuplot-Script, \263 entspricht dem Größer-gleich-Zeichen, \260 dem Grad-Kringel, \306 = "Durchschnitt"). Auch das Ergebnis des Gnuplot-Unicode-Beispiels (https://nopaste.debianforum.de/41850) ist voll daneben. Siehe gallery/image/3946/medium.

Ich möchte der Ursache für das Nicht-Funktionieren nachträglich gerne auf den Grund gehen. Wie sieht das Ergebnis des Gnuplot-Scripts unter https://nopaste.debianforum.de/41850 bei Euch aus? Kommen die Sonderzeichen so, wie sie sollten?
Da ich im obigen Script bis zum Abwinken mit Kodierungsbefehlen experimentiert habe, ohne es hinzubekommen, glaube ich mittlerweile, dass die Ursache außerhalb von gnuplot zu suchen ist (locale?). An der Schrift (Opentype Neue Helvetica) kann's nicht liegen, dort sind die Glyphen (Zeichen) definitiv enthalten.

Wie/wo/was... kann ich selbst probieren, um die Ursache für die Probleme mit den Sonderzeichen zu finden? Irgendwelche Ideen?

TIA

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

schwedenmann
Beiträge: 5525
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: [gnuplot] Sonderzeichen

Beitrag von schwedenmann » 23.01.2023 19:48:18

Hallo

Ich habe das script per gnuplot gnuplottest.sh ausgeführt und erhalte ein unicode.png, aber nur ein schwarzes Bild,keine Zeichen,nichts. :|


mfg
schwedenmann

dillo
Beiträge: 359
Registriert: 28.05.2005 19:53:56

Re: [gnuplot] Sonderzeichen

Beitrag von dillo » 24.01.2023 11:33:59

GregorS hat geschrieben: ↑ zum Beitrag ↑
23.01.2023 19:08:38
Wie sieht das Ergebnis des Gnuplot-Scripts unter https://nopaste.debianforum.de/41850 bei Euch aus?
Mit einem

Code: Alles auswählen

set encoding utf8
im Script, ein paar zusätzlichen Zeichen, fonts-noto-cjk für das CJK-Schriftzeichen und Entfernen der Transparenz:

3947

Benutzeravatar
GregorS
Beiträge: 2518
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: [gnuplot] Sonderzeichen

Beitrag von GregorS » 25.01.2023 12:53:15

Vielen Dank für Eure Antworten! Dass die Ergebnisse so unterschiedlich sind, liegt ja möglicherweise an unterschiedlichen gnuplot-Versionen. Welche kommt bei Euch zum Einsatz?

Bei mir ergibt 'gnuplot --version'

Code: Alles auswählen

gnuplot 5.4 patchlevel 1
Bei Euch?

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: [gnuplot] Sonderzeichen

Beitrag von MSfree » 25.01.2023 13:21:45

GregorS hat geschrieben: ↑ zum Beitrag ↑
25.01.2023 12:53:15
Welche kommt bei Euch zum Einsatz?

Bei mir ergibt 'gnuplot --version'

Code: Alles auswählen

gnuplot 5.4 patchlevel 1
Das wäre also Debiangnuplot aus Bullseye.

Testing und SID sind mit Version 5.4.4 nicht wesentlich weiter.

dillo
Beiträge: 359
Registriert: 28.05.2005 19:53:56

Re: [gnuplot] Sonderzeichen

Beitrag von dillo » 25.01.2023 16:50:51

Ich habe mit Bullseye und Sid getestet. Mit

Code: Alles auswählen

set encoding utf8
im Script werden alle Zeichen angezeigt.

Warum fügst du das nicht einfach ein und testest damit?

Benutzeravatar
GregorS
Beiträge: 2518
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: [gnuplot] Sonderzeichen

Beitrag von GregorS » 25.01.2023 17:09:22

dillo hat geschrieben: ↑ zum Beitrag ↑
25.01.2023 16:50:51
... Warum fügst du das nicht einfach ein und testest damit?
Weil ich alle Kombinationen von „set encoding ..." und was es da noch an Möglichkeiten gibt, durchprobiert habe. Wenn es so einfach wäre, hätte ich mir bestimmt nicht die Arbeit gemacht, hier nachzufragen.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Antworten