diff --git a/t/plots.t b/t/plots.t index b351999..692bfdc 100644 --- a/t/plots.t +++ b/t/plots.t @@ -603,193 +603,6 @@ tryplot( testname => '3d spiral with bounds, labels, square xy aspect ratio', -EOF - -tryplot( testname => 'Histogram plot', - cmd => q{seq 50 | awk '{print $1*$1}'}, - options => [qw(--lines --points), - qw(--histo 0 --binwidth 50 --ymin 0 --curvestyleall), 'with boxes'], - refplot => <<'EOF' ); - - - 4 ++----------****----------+------------+-----------+------------+------------+-----------++ - + *+** + + + + + + - | * ** | - | * ** | - 3.5 ++ * ** ++ - | * ** | - | * ** | - | * ** | - | * ** | - 3 ++ * *** ++ - | * *** | - | * *** | - | * *** | - 2.5 ++ * *** ++ - | * *** | - | * *** | - | * *** | - 2 ++ * **** *** ++ - | * **** *** | - | * **** *** | - | * **** *** | - | * **** *** | - 1.5 ++ * **** *** ++ - | * **** *** | - | * **** *** | - | * **** *** | - 1 ++ * ************************** ******** ************************** ** ++ - | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | - | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | - | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | - | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | - 0.5 ++ * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** ++ - | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | - | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | - + *+**** *** **** *** **** *** **** *** **** *** **** *** **** *** ** + - 0 ++----------****************************-********-**************************-**----------++ - -500 0 500 1000 1500 2000 2500 3000 - -EOF - -tryplot( testname => 'Cumulative histogram', - cmd => q{seq 50 | awk '{print $1*$1}'}, - options => [qw(--lines --points), - qw(--histo 0 --histstyle cum --binwidth 50 --ymin 0 --curvestyleall), 'with boxes'], - refplot => <<'EOF' ); - - - 50 ++-----------+------------+------------+------------+------------+-----------***----------++ - + + + + + + ** ***+* + - | **** *** * | - | *** **** *** * | - | ** *** **** *** * | - | ***** *** **** *** * | - | **** *** *** **** *** * | - 40 ++ ** **** *** *** **** *** * ++ - | ****** **** *** *** **** *** * | - | ***** *** **** *** *** **** *** * | - | *** *** *** **** *** *** **** *** * | - | ****** *** *** **** *** *** **** *** * | - | ** **** *** *** **** *** *** **** *** * | - | ****** **** *** *** **** *** *** **** *** * | - 30 ++ *** *** **** *** *** **** *** *** **** *** * ++ - | ****** *** **** *** *** **** *** *** **** *** * | - | *** *** *** **** *** *** **** *** *** **** *** * | - | ****** *** *** **** *** *** **** *** *** **** *** * | - | ** **** *** *** **** *** *** **** *** *** **** *** * | - | *** **** *** *** **** *** *** **** *** *** **** *** * | - | ****** **** *** *** **** *** *** **** *** *** **** *** * | - 20 ++ *** *** **** *** *** **** *** *** **** *** *** **** *** * ++ - | ****** *** **** *** *** **** *** *** **** *** *** **** *** * | - | ** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | *** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | ****** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | ** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - 10 ++ ** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * ++ - | *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | ***** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - | * *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | - + *+*** **** ***+*** **** ***+*** **** ***+*** **** ***+*** **** ***+* + - 0 ++----------********************************************-********+***-****-*****----------++ - -500 0 500 1000 1500 2000 2500 3000 - -EOF - -tryplot( testname => 'Circles', - cmd => q{seq 5 | awk '{print $1,$1,$1/10}'}, - options => [qw(--circles --domain)], - refplot => <<'EOF' ); - - - 5 ++-------+--------+--------+--------+--------+--------+--------+--------******************* - + + + + + + + + * + *+ - | * * *| - | ******** * *| - 4.5 ++ ** ** * *+ - | ** ** ** **| - | ** ** ** ** | - | * * ** ** | - | * * ** ** | - 4 ++ * ** ********** ++ - | * * | - | * * | - | * * * | - 3.5 ++ ****** ** ** ++ - | * * ** ** | - | * * ** ** | - | * * ******** | - 3 ++ * ** ++ - | * * | - | * * | - | * * | - | * * | - 2.5 ++ * ****** ++ - | ****** | - | ** ** | - | * * | - 2 ++ * ** ++ - | * ** | - | * * | - | ** ** | - | ****** | - 1.5 ++ ++ - | | - | * | - + **** + + + + + + + + + - 1 ++-----*-+**------+--------+--------+--------+--------+--------+--------+--------+-------++ - 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 - -EOF - -tryplot( testname => 'Error bars (using extraValuesPerPoint)', - cmd => q{seq 5 | awk '{print $1,$1,$1/10}'}, - options => [qw(--domain), - qw(--extraValuesPerPoint 1 --curvestyle 0), 'with errorbars'], - refplot => <<'EOF' ); - - - 5.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------** - + + + + + + + + * - | * - 5 ++ +A - | * - | * - | * - 4.5 ++ ** - | *** | - | * | - 4 ++ A ++ - | * | - | * | - | *** | - 3.5 ++ ++ - | *** | - | * | - 3 ++ A ++ - | * | - | * | - | *** | - 2.5 ++ ++ - | | - | *** | - 2 ++ A ++ - | * | - | *** | - | | - 1.5 ++ ++ - | | - | | - 1 A* ++ - ** | - | | - + + + + + + + + + - 0.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------++ - 1 1.5 2 2.5 3 3.5 4 4.5 5 - EOF tryplot( testname => 'Monotonicity check', @@ -980,6 +793,192 @@ tryplot( testname => '--timefmt plot with --monotonic', EOF +tryplot( testname => 'Error bars (using extraValuesPerPoint)', + cmd => q{seq 5 | awk '{print $1,$1,$1/10}'}, + options => [qw(--domain), + qw(--extraValuesPerPoint 1 --curvestyle 0), 'with errorbars'], + refplot => <<'EOF' ); + + + 5.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------** + + + + + + + + + * + | * + 5 ++ +A + | * + | * + | * + 4.5 ++ ** + | *** | + | * | + 4 ++ A ++ + | * | + | * | + | *** | + 3.5 ++ ++ + | *** | + | * | + 3 ++ A ++ + | * | + | * | + | *** | + 2.5 ++ ++ + | | + | *** | + 2 ++ A ++ + | * | + | *** | + | | + 1.5 ++ ++ + | | + | | + 1 A* ++ + ** | + | | + + + + + + + + + + + 0.5 ++---------+-----------+----------+----------+----------+-----------+----------+---------++ + 1 1.5 2 2.5 3 3.5 4 4.5 5 + +EOF +tryplot( testname => 'Histogram plot', + cmd => q{seq 50 | awk '{print $1*$1}'}, + options => [qw(--lines --points), + qw(--histo 0 --binwidth 50 --ymin 0 --curvestyleall), 'with boxes'], + refplot => <<'EOF' ); + + + 4 ++----------****----------+------------+-----------+------------+------------+-----------++ + + *+** + + + + + + + | * ** | + | * ** | + 3.5 ++ * ** ++ + | * ** | + | * ** | + | * ** | + | * ** | + 3 ++ * *** ++ + | * *** | + | * *** | + | * *** | + 2.5 ++ * *** ++ + | * *** | + | * *** | + | * *** | + 2 ++ * **** *** ++ + | * **** *** | + | * **** *** | + | * **** *** | + | * **** *** | + 1.5 ++ * **** *** ++ + | * **** *** | + | * **** *** | + | * **** *** | + 1 ++ * ************************** ******** ************************** ** ++ + | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | + | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | + | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | + | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | + 0.5 ++ * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** ++ + | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | + | * **** *** **** *** **** *** **** *** **** *** **** *** **** *** ** | + + *+**** *** **** *** **** *** **** *** **** *** **** *** **** *** ** + + 0 ++----------****************************-********-**************************-**----------++ + -500 0 500 1000 1500 2000 2500 3000 + +EOF + +tryplot( testname => 'Cumulative histogram', + cmd => q{seq 50 | awk '{print $1*$1}'}, + options => [qw(--lines --points), + qw(--histo 0 --histstyle cum --binwidth 50 --ymin 0 --curvestyleall), 'with boxes'], + refplot => <<'EOF' ); + + + 50 ++-----------+------------+------------+------------+------------+-----------***----------++ + + + + + + + ** ***+* + + | **** *** * | + | *** **** *** * | + | ** *** **** *** * | + | ***** *** **** *** * | + | **** *** *** **** *** * | + 40 ++ ** **** *** *** **** *** * ++ + | ****** **** *** *** **** *** * | + | ***** *** **** *** *** **** *** * | + | *** *** *** **** *** *** **** *** * | + | ****** *** *** **** *** *** **** *** * | + | ** **** *** *** **** *** *** **** *** * | + | ****** **** *** *** **** *** *** **** *** * | + 30 ++ *** *** **** *** *** **** *** *** **** *** * ++ + | ****** *** **** *** *** **** *** *** **** *** * | + | *** *** *** **** *** *** **** *** *** **** *** * | + | ****** *** *** **** *** *** **** *** *** **** *** * | + | ** **** *** *** **** *** *** **** *** *** **** *** * | + | *** **** *** *** **** *** *** **** *** *** **** *** * | + | ****** **** *** *** **** *** *** **** *** *** **** *** * | + 20 ++ *** *** **** *** *** **** *** *** **** *** *** **** *** * ++ + | ****** *** **** *** *** **** *** *** **** *** *** **** *** * | + | ** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | *** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | ****** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | ** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + 10 ++ ** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * ++ + | *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | ***** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + | * *** **** *** *** **** *** *** **** *** *** **** *** *** **** *** * | + + *+*** **** ***+*** **** ***+*** **** ***+*** **** ***+*** **** ***+* + + 0 ++----------********************************************-********+***-****-*****----------++ + -500 0 500 1000 1500 2000 2500 3000 + +EOF + +tryplot( testname => 'Circles', + cmd => q{seq 5 | awk '{print $1,$1,$1/10}'}, + options => [qw(--circles --domain)], + refplot => <<'EOF' ); + + + 5 ++-------+--------+--------+--------+--------+--------+--------+--------******************* + + + + + + + + + * + *+ + | * * *| + | ******** * *| + 4.5 ++ ** ** * *+ + | ** ** ** **| + | ** ** ** ** | + | * * ** ** | + | * * ** ** | + 4 ++ * ** ********** ++ + | * * | + | * * | + | * * * | + 3.5 ++ ****** ** ** ++ + | * * ** ** | + | * * ** ** | + | * * ******** | + 3 ++ * ** ++ + | * * | + | * * | + | * * | + | * * | + 2.5 ++ * ****** ++ + | ****** | + | ** ** | + | * * | + 2 ++ * ** ++ + | * ** | + | * * | + | ** ** | + | ****** | + 1.5 ++ ++ + | | + | * | + + **** + + + + + + + + + + 1 ++-----*-+**------+--------+--------+--------+--------+--------+--------+--------+-------++ + 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 + +EOF +