mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 14:13:18 +00:00
98_SVG.pm: log-scale fixes (Forum #53487)
git-svn-id: https://svn.fhem.de/fhem/trunk@11481 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
dc3595000d
commit
42cd1dea2a
@ -1482,6 +1482,8 @@ SVG_render($$$$$$$$$$)
|
|||||||
|
|
||||||
push @{$dxp}, $x1;
|
push @{$dxp}, $x1;
|
||||||
push @{$dyp}, $y1;
|
push @{$dyp}, $y1;
|
||||||
|
$min = $y1 if($min > $y1);
|
||||||
|
$max = $y1 if($max < $y1);
|
||||||
|
|
||||||
} elsif( $conf{lType}[$idx] eq "lines" ) {
|
} elsif( $conf{lType}[$idx] eq "lines" ) {
|
||||||
push @{$dxp}, undef;
|
push @{$dxp}, undef;
|
||||||
@ -1688,26 +1690,24 @@ SVG_render($$$$$$$$$$)
|
|||||||
my $dh = $hmax{$a} - $hmin{$a};
|
my $dh = $hmax{$a} - $hmin{$a};
|
||||||
my $hmul = $dh>0 ? $h/$dh : $h;
|
my $hmul = $dh>0 ? $h/$dh : $h;
|
||||||
|
|
||||||
my $idx = 1;
|
my $axis = 1;
|
||||||
$idx = $1 if( $a =~ m/x\d+y(\d+)/ );
|
$axis = $1 if( $a =~ m/x\d+y(\d+)/ );
|
||||||
|
|
||||||
my $scale = "y".($idx)."scale";
|
my $scale = "y".($axis)."scale"; $scale = "yscale" if( $axis == 1 );
|
||||||
$scale = "yscale" if( $idx == 1 );
|
my $log = ""; $log = $conf{$scale} if( $conf{$scale} );
|
||||||
my $log = "";
|
|
||||||
$log = $conf{$scale} if( $conf{$scale} );
|
|
||||||
|
|
||||||
# offsets
|
# offsets
|
||||||
my ($align,$display,$cll);
|
my ($align,$display,$cll);
|
||||||
if( $idx <= $use_left_axis ) {
|
if( $axis <= $use_left_axis ) {
|
||||||
$off1 = $x - ($idx-1)*$axis_width-4-$th*0.3;
|
$off1 = $x - ($axis-1)*$axis_width-4-$th*0.3;
|
||||||
$off3 = $x - ($idx-1)*$axis_width-4;
|
$off3 = $x - ($axis-1)*$axis_width-4;
|
||||||
$off4 = $off3+5;
|
$off4 = $off3+5;
|
||||||
$align = " text-anchor=\"end\"";
|
$align = " text-anchor=\"end\"";
|
||||||
$display = "";
|
$display = "";
|
||||||
$cll = "";
|
$cll = "";
|
||||||
} elsif( $idx <= $use_left_axis+$use_right_axis ) {
|
} elsif( $axis <= $use_left_axis+$use_right_axis ) {
|
||||||
$off1 = $x+4+$w+($idx-1-$use_left_axis)*$axis_width+$th*0.3;
|
$off1 = $x+4+$w+($axis-1-$use_left_axis)*$axis_width+$th*0.3;
|
||||||
$off3 = $x+4+$w+($idx-1-$use_left_axis)*$axis_width-5;
|
$off3 = $x+4+$w+($axis-1-$use_left_axis)*$axis_width-5;
|
||||||
$off4 = $off3+5;
|
$off4 = $off3+5;
|
||||||
$align = "";
|
$align = "";
|
||||||
$display = "";
|
$display = "";
|
||||||
@ -1717,8 +1717,8 @@ SVG_render($$$$$$$$$$)
|
|||||||
$off3 = $x+30;
|
$off3 = $x+30;
|
||||||
$off4 = $off3+5;
|
$off4 = $off3+5;
|
||||||
$align = " text-anchor=\"end\"";
|
$align = " text-anchor=\"end\"";
|
||||||
$display = " display=\"none\" id=\"hline_$idx\"";
|
$display = " display=\"none\" id=\"hline_$axis\"";
|
||||||
$cll = " class=\"SVGplot l$idx\"";
|
$cll = " class=\"SVGplot l$axis\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
#-- grouping
|
#-- grouping
|
||||||
@ -1804,14 +1804,15 @@ SVG_render($$$$$$$$$$)
|
|||||||
# Second loop over the data: draw the measured points
|
# Second loop over the data: draw the measured points
|
||||||
for(my $idx=$#hdx; $idx >= 0; $idx--) {
|
for(my $idx=$#hdx; $idx >= 0; $idx--) {
|
||||||
my $a = $conf{lAxis}[$idx];
|
my $a = $conf{lAxis}[$idx];
|
||||||
my $scale = "y".($idx+1)."scale";
|
|
||||||
$scale = "yscale" if( $idx == 0 );
|
|
||||||
my $log = "";
|
|
||||||
$log = $conf{$scale} if( $conf{$scale} );
|
|
||||||
|
|
||||||
SVG_pO "<!-- Warning: No axis for data item $idx defined -->"
|
SVG_pO "<!-- Warning: No axis for data item $idx defined -->"
|
||||||
if(!defined($a));
|
if(!defined($a));
|
||||||
next if(!defined($a));
|
next if(!defined($a));
|
||||||
|
|
||||||
|
my $axis = 1; $axis = $1 if( $a =~ m/x\d+y(\d+)/ );
|
||||||
|
my $scale = "y".($axis)."scale"; $scale = "yscale" if( $axis == 1 );
|
||||||
|
my $log = ""; $log = $conf{$scale} if( $conf{$scale} );
|
||||||
|
|
||||||
$min = $hmin{$a};
|
$min = $hmin{$a};
|
||||||
$hmax{$a} += 1 if($min == $hmax{$a}); # Else division by 0 in the next line
|
$hmax{$a} += 1 if($min == $hmax{$a}); # Else division by 0 in the next line
|
||||||
my $xmul;
|
my $xmul;
|
||||||
|
@ -270,9 +270,10 @@ sv_menu(evt, embed)
|
|||||||
} else {
|
} else {
|
||||||
var d = new Date((((xRaw-par.x_min)/par.t_mul)+par.x_off) * 1000), ts;
|
var d = new Date((((xRaw-par.x_min)/par.t_mul)+par.x_off) * 1000), ts;
|
||||||
if(par.t_mul < 0.0001) { // Year
|
if(par.t_mul < 0.0001) { // Year
|
||||||
ts = (d.getMonth()+1)+"."+pad0(d.getDate());
|
ts =(pad0(d.getMonth()+1))+"."+pad0(d.getDate()+"."+(d.getYear()+1900));
|
||||||
} else if(par.t_mul < 0.001) { // Month
|
} else if(par.t_mul < 0.001) { // Month
|
||||||
ts = d.getDate()+". "+pad0(d.getHours())+":"+pad0(d.getMinutes());
|
ts = (pad0(d.getMonth()+1))+"."+pad0(d.getDate())+
|
||||||
|
". "+pad0(d.getHours())+":"+pad0(d.getMinutes());
|
||||||
} else {
|
} else {
|
||||||
ts = pad0(d.getHours())+":"+pad0(d.getMinutes());
|
ts = pad0(d.getHours())+":"+pad0(d.getMinutes());
|
||||||
}
|
}
|
||||||
@ -291,7 +292,8 @@ sv_menu(evt, embed)
|
|||||||
var selNode = $(sel).get(0);
|
var selNode = $(sel).get(0);
|
||||||
var currval = visible?1:0;
|
var currval = visible?1:0;
|
||||||
var h = parseFloat(sel.attr("y_h"));
|
var h = parseFloat(sel.attr("y_h"));
|
||||||
//sel.attr("transform", "translate(0,"+h*(1-currval)+") "+ "scale(1,"+currval+")");
|
//sel.attr("transform", "translate(0,"+h*(1-currval)+") "
|
||||||
|
//+ "scale(1,"+currval+")");
|
||||||
|
|
||||||
if( !visible
|
if( !visible
|
||||||
&& selNode.showVal )
|
&& selNode.showVal )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user