Erster Wert bei logarithmischer y-Skala falsch

Begonnen von xenos1984, 28 Mai 2020, 21:36:13

Vorheriges Thema - Nächstes Thema

xenos1984

Seit einer Weile ist mir bei einem Plot mit logarithmischer Skala aufgefallen, dass jeweils der erste Wert völlig aus dem Rahmen läuft, obwohl in den Daten nichts dergleichen zu finden ist. Mit ein wenig Suche im Quelltext des SVG Moduls habe ich auch einen Kandidaten für die Ursache dieses (Fehl-)Verhaltens:
1930     if( $log eq 'log' ) {
1931       foreach my $i (1..int(@{$dxp})-1) {
1932         $dyp->[$i] = (SVG_log10($dyp->[$i])-SVG_log10($hmin{$a})) / $f_log;
1933       }
1934     }

So weit ich sehen kann, soll dieser Abschnitt bei logarithmischer y-Skala von allen Datenwerten den Logarithmus berechnen und sie entsprechend skalieren. Allerdings fängt die Schleife in Zeile 1931 bei 1 an zu zählen, obwohl der erste Eintrag den Index 0 hat. Somit wird der erste Eintrag nicht umgerechnet und später beim Zeichnen auch falsch dargestellt, was einen "Haken" am Beginn des Plots verursacht.

rudolfkoenig