2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-02 19:15:31 +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:
rudolfkoenig 2016-05-18 17:24:22 +00:00
parent dc3595000d
commit 42cd1dea2a
2 changed files with 24 additions and 21 deletions

View File

@ -1482,6 +1482,8 @@ SVG_render($$$$$$$$$$)
push @{$dxp}, $x1;
push @{$dyp}, $y1;
$min = $y1 if($min > $y1);
$max = $y1 if($max < $y1);
} elsif( $conf{lType}[$idx] eq "lines" ) {
push @{$dxp}, undef;
@ -1688,26 +1690,24 @@ SVG_render($$$$$$$$$$)
my $dh = $hmax{$a} - $hmin{$a};
my $hmul = $dh>0 ? $h/$dh : $h;
my $idx = 1;
$idx = $1 if( $a =~ m/x\d+y(\d+)/ );
my $axis = 1;
$axis = $1 if( $a =~ m/x\d+y(\d+)/ );
my $scale = "y".($idx)."scale";
$scale = "yscale" if( $idx == 1 );
my $log = "";
$log = $conf{$scale} if( $conf{$scale} );
my $scale = "y".($axis)."scale"; $scale = "yscale" if( $axis == 1 );
my $log = ""; $log = $conf{$scale} if( $conf{$scale} );
# offsets
my ($align,$display,$cll);
if( $idx <= $use_left_axis ) {
$off1 = $x - ($idx-1)*$axis_width-4-$th*0.3;
$off3 = $x - ($idx-1)*$axis_width-4;
if( $axis <= $use_left_axis ) {
$off1 = $x - ($axis-1)*$axis_width-4-$th*0.3;
$off3 = $x - ($axis-1)*$axis_width-4;
$off4 = $off3+5;
$align = " text-anchor=\"end\"";
$display = "";
$cll = "";
} elsif( $idx <= $use_left_axis+$use_right_axis ) {
$off1 = $x+4+$w+($idx-1-$use_left_axis)*$axis_width+$th*0.3;
$off3 = $x+4+$w+($idx-1-$use_left_axis)*$axis_width-5;
} elsif( $axis <= $use_left_axis+$use_right_axis ) {
$off1 = $x+4+$w+($axis-1-$use_left_axis)*$axis_width+$th*0.3;
$off3 = $x+4+$w+($axis-1-$use_left_axis)*$axis_width-5;
$off4 = $off3+5;
$align = "";
$display = "";
@ -1717,8 +1717,8 @@ SVG_render($$$$$$$$$$)
$off3 = $x+30;
$off4 = $off3+5;
$align = " text-anchor=\"end\"";
$display = " display=\"none\" id=\"hline_$idx\"";
$cll = " class=\"SVGplot l$idx\"";
$display = " display=\"none\" id=\"hline_$axis\"";
$cll = " class=\"SVGplot l$axis\"";
}
#-- grouping
@ -1804,14 +1804,15 @@ SVG_render($$$$$$$$$$)
# Second loop over the data: draw the measured points
for(my $idx=$#hdx; $idx >= 0; $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 -->"
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};
$hmax{$a} += 1 if($min == $hmax{$a}); # Else division by 0 in the next line
my $xmul;

View File

@ -270,9 +270,10 @@ sv_menu(evt, embed)
} else {
var d = new Date((((xRaw-par.x_min)/par.t_mul)+par.x_off) * 1000), ts;
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
ts = d.getDate()+". "+pad0(d.getHours())+":"+pad0(d.getMinutes());
ts = (pad0(d.getMonth()+1))+"."+pad0(d.getDate())+
". "+pad0(d.getHours())+":"+pad0(d.getMinutes());
} else {
ts = pad0(d.getHours())+":"+pad0(d.getMinutes());
}
@ -291,7 +292,8 @@ sv_menu(evt, embed)
var selNode = $(sel).get(0);
var currval = visible?1:0;
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
&& selNode.showVal )