diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-09-29 22:17:19 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-09-29 22:17:19 +0100 |
| commit | 1ed4200f27c95e70830bade3d3143320259ca9bb (patch) | |
| tree | fdc966d65c26d97bc1d3f7d484aa70159e8e1af3 | |
| parent | fc3b4ec4c844684573640a3e7456e1b6c79a178d (diff) | |
| download | perlweeklychallenge-club-1ed4200f27c95e70830bade3d3143320259ca9bb.tar.gz perlweeklychallenge-club-1ed4200f27c95e70830bade3d3143320259ca9bb.tar.bz2 perlweeklychallenge-club-1ed4200f27c95e70830bade3d3143320259ca9bb.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-027/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-027/laurent-rosenfeld/perl5/ch-1.pl | 58 | ||||
| -rw-r--r-- | challenge-027/laurent-rosenfeld/perl5/ch-2.pl | 31 | ||||
| -rw-r--r-- | challenge-027/laurent-rosenfeld/perl6/ch-1.p6 | 111 | ||||
| -rw-r--r-- | challenge-027/laurent-rosenfeld/perl6/ch-2.p6 | 24 | ||||
| -rw-r--r-- | stats/pwc-current.json | 311 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 62 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 430 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 462 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 30 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 92 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 26 |
14 files changed, 1021 insertions, 773 deletions
diff --git a/challenge-027/laurent-rosenfeld/blog.txt b/challenge-027/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..84d863d65a --- /dev/null +++ b/challenge-027/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2019/09/perl-weekly-challenge-27-intersection-point-and-historical-values.html diff --git a/challenge-027/laurent-rosenfeld/perl5/ch-1.pl b/challenge-027/laurent-rosenfeld/perl5/ch-1.pl new file mode 100644 index 0000000000..dabd67b0d7 --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl5/ch-1.pl @@ -0,0 +1,58 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +sub find_line { + my ($x1, $y1, $x2, $y2) = @_; + my $slope = ($y2 - $y1) / ($x2 - $x1); + # find b for y1 = slope * x1 + b + my $b = $y1 - $slope * $x1; + return $slope, $b; +} + +sub find_intersect { + my ($a1, $b1, $a2, $b2) = @_; + # solve y = ax + b for a1, b1 and a2, b2 + # i.e.: a1 x + b1 = a2 x + b2 <=> x (a1 - a2) = b2 - b1 + die "The segments are parallel or colinear, no intersection point!" if ($a1 == $a2); + my $abscissa = ($b2 - $b1) / ($a1 - $a2); + say "x = $abscissa"; + my $ordinate = $a1 * $abscissa + $b1; + return $abscissa, $ordinate; +} +my ($a1, $b1, $a2, $b2); +if (@ARGV == 8) { + die "The two segments are vertical, no intersection point" + if $ARGV[0] == $ARGV[2] and $ARGV[4] == $ARGV[6]; + if ($ARGV[0] == $ARGV[2]) { + #First segment is vertical + my $abscissa = $ARGV[0]; + ($a2, $b2) = find_line @ARGV[4..7]; + my $ordinate = $a2 * $abscissa + $b2; + say "Intersection point: $abscissa, $ordinate"; + exit 0; + } + if ($ARGV[4] == $ARGV[6]) { + # Second segment is vertical + my $abscissa = $ARGV[4]; + ($a1, $b1) = find_line @ARGV[0..3]; + my $ordinate = $a1 * $abscissa + $b1; + say "Intersection point: $abscissa, $ordinate"; + exit 0; + } + ($a1, $b1) = find_line @ARGV[0..3]; + ($a2, $b2) = find_line @ARGV[4..7]; +} else { + # default test values if arguments are missing or insufficient + ($a1, $b1) = find_line 3, 1, 5, 3; + ($a2, $b2) = find_line 3, 3, 6, 0; +} +say "a1: $a1"; +say "b1: $b1"; +say "a2: $a2"; +say "b2: $b2"; + +my ($x, $y) = find_intersect ($a1, $b1, $a2, $b2); +say "Intersection point abscissa: $x"; +say "Intersection point ordinate: $y"; diff --git a/challenge-027/laurent-rosenfeld/perl5/ch-2.pl b/challenge-027/laurent-rosenfeld/perl5/ch-2.pl new file mode 100644 index 0000000000..6c7b1bc252 --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl5/ch-2.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +sub create_watched_value { + my $value = shift; + my @past_values; + my $assign = sub { + my $new_val = shift; + push @past_values, $value; + $value = $new_val; + }; + my $get_past_values = sub { + return "@past_values"; + }; + my $get_current_value = sub { + return $value; + }; + return $assign, $get_past_values, $get_current_value; +} + +my ($assign, $get_past, $get_current) = create_watched_value 10; +say "Current: ", $get_current->(); +$assign->(15); +say "Current: ", $get_current->(); +$assign->(20); +say "Current: ", $get_current->(); +$assign->(5); +say "Current: ", $get_current->(); +say "Past: ", $get_past->(); diff --git a/challenge-027/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-027/laurent-rosenfeld/perl6/ch-1.p6 new file mode 100644 index 0000000000..d73fa817b1 --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl6/ch-1.p6 @@ -0,0 +1,111 @@ +use v6; + +role Point { + has $.x; + has $.y; + + method gist { + return "\n- Abscissa: $.x\n- Ordinate: $.y."; + } +} +class Segment { + has Point $.start; + has Point $.end; + + method slope { + return ($.end.y - $.start.y) / ($.end.x - $.start.x); + } + method y-intercept { + my $slope = self.slope; + return $.start.y - $slope * $.start.x; + } + method line-coordinates { + return self.slope, self.y-intercept; + } +} +sub compute-intersection (Segment $s1, Segment $s2) { + my $abscissa = ($s2.y-intercept - $s1.y-intercept) / + ($s1.slope - $s2.slope); + my $ordinate = $s1.slope * $abscissa + $s1.y-intercept; + my $intersection = Point.new( x => $abscissa, y => $ordinate); +} +multi MAIN ( $a1, $b1, # start of line segment 1 + $a2, $b2, # end of line segment 1 + $a3, $b3, # start of line segment 2 + $a4, $b4 # end of line segment 2 + ) { + exit unless valid-args |@*ARGS; + my $segment1 = Segment.new( + start => Point.new(x => $a1, y => $b1), + end => Point.new(x => $a2, y => $b2) + ); + my $segment2 = Segment.new( + start => Point.new(x => $a3, y => $b3), + end => Point.new(x => $a4, y => $b4) + ); + say "Segments are parallel or colinear." and exit + if $segment1.slope == $segment2.slope; + say "Coordinates of intersection point: ", + compute-intersection $segment1, $segment2; +} +multi MAIN () { + say "Using default input values for testing. Should display poinr (2, 4)."; + my $segment1 = Segment.new( + start => Point.new(x => 3, y => 1), + end => Point.new(x => 5, y => 3) + ); + my $segment2 = Segment.new( + start => Point.new(x => 3, y => 3), + end => Point.new(x => 6, y => 0) + ); + say "Coordinates of intersection point: ", + compute-intersection $segment1, $segment2; +} +sub valid-args ( $a1, $b1, # start of line segment 1 + $a2, $b2, # end of line segment 1 + $a3, $b3, # start of line segment 2 + $a4, $b4 # end of line segment 2 + ) { + unless @*ARGS.all ~~ /<[\d]>+/ { + say "Non numeric argument. Can't continue."; + return False; + } + if $a1 == $a2 and $b1 == $b2 { + say "The first two points are the same. Cannot draw a line."; + return False; + } + if $a3 == $a4 and $b3 == $b4 { + say "The last two points are the same. Cannot draw a line."; + return False; + } + if $a1 == $a2 and $a3 == $a4 { + say "The two segments are vertical. No intersection."; + return False; + } + if $a1 == $a2 { + # First segment is vertical but not the second one + my $segment2 = Segment.new( + start => Point.new(x => $a3, y => $b3), + end => Point.new(x => $a4, y => $b4) + ); + my $ordinate = $segment2.slope + * $a1 + $segment2.y-intercept; + my $interception = Point.new(x => $a1, y => $ordinate); + say "Coordinates of intersection point: ", $interception; + return False; + } + if $a3 == $a4 { + # Second segment is vertical but not the first one + my $segment1 = Segment.new( + start => Point.new(x => $a1, y => $b1), + end => Point.new(x => $a2, y => $b2) + ); + my $ordinate = $segment1.slope + * $a3 + $segment1.y-intercept; + my $interception = Point.new(x => $a3, y => $ordinate); + say "Coordinates of intersection point: ", $interception; + return False; + } + return True; +} + diff --git a/challenge-027/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-027/laurent-rosenfeld/perl6/ch-2.p6 new file mode 100644 index 0000000000..acc7fd97aa --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl6/ch-2.p6 @@ -0,0 +1,24 @@ +use v6; + +class WatchedValue { + has Int $.current-value is rw; + has @.past-values = (); + + method get-past-values { + return @.past-values; + } +} + +multi sub infix:<=:=> (WatchedValue $y, Int $z) { + push $y.past-values, $y.current-value; + $y.current-value = $z; +} +my $x = WatchedValue.new(current-value => 10); +say "Current: ", $x.current-value; +$x =:= 15; +say "Current: ", $x.current-value; +$x =:= 5; +say "Current: ", $x.current-value; +$x =:= 20; +say "Current: ", $x.current-value; +say "Past values: ", $x.get-past-values; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index df572bc163..ece7690990 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,117 +1,7 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "y" : 3, - "drilldown" : "Adam Russell", - "name" : "Adam Russell" - }, - { - "drilldown" : "Andrezgz", - "name" : "Andrezgz", - "y" : 2 - }, - { - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 3 - }, - { - "y" : 2, - "drilldown" : "Colin Crain", - "name" : "Colin Crain" - }, - { - "y" : 2, - "name" : "Duane Powell", - "drilldown" : "Duane Powell" - }, - { - "name" : "E. Choroba", - "drilldown" : "E. Choroba", - "y" : 3 - }, - { - "drilldown" : "Joelle Maslak", - "name" : "Joelle Maslak", - "y" : 4 - }, - { - "y" : 2, - "drilldown" : "Kevin Colyer", - "name" : "Kevin Colyer" - }, - { - "name" : "Lubos Kolouch", - "drilldown" : "Lubos Kolouch", - "y" : 2 - }, - { - "y" : 1, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer", - "y" : 2 - }, - { - "name" : "Noud", - "drilldown" : "Noud", - "y" : 2 - }, - { - "name" : "Roger Bell West", - "drilldown" : "Roger Bell West", - "y" : 3 - }, - { - "y" : 4, - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "name" : "Trenton Langer", - "drilldown" : "Trenton Langer", - "y" : 2 - }, - { - "name" : "Yet Ebreo", - "drilldown" : "Yet Ebreo", - "y" : 3 - } - ], - "name" : "Perl Weekly Challenge - 027" - } - ], - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2019-09-29 20:45:33 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge - 027" - }, "drilldown" : { "series" : [ { - "id" : "Adam Russell", - "name" : "Adam Russell", "data" : [ [ "Perl 5", @@ -121,21 +11,21 @@ "Blog", 1 ] - ] + ], + "name" : "Adam Russell", + "id" : "Adam Russell" }, { - "name" : "Andrezgz", - "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Andrezgz", + "name" : "Andrezgz" }, { - "id" : "Arne Sommer", - "name" : "Arne Sommer", "data" : [ [ "Perl 6", @@ -145,17 +35,19 @@ "Blog", 1 ] - ] + ], + "name" : "Arne Sommer", + "id" : "Arne Sommer" }, { - "id" : "Colin Crain", - "name" : "Colin Crain", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Colin Crain", + "id" : "Colin Crain" }, { "data" : [ @@ -168,8 +60,6 @@ "name" : "Duane Powell" }, { - "id" : "E. Choroba", - "name" : "E. Choroba", "data" : [ [ "Perl 5", @@ -179,7 +69,9 @@ "Blog", 1 ] - ] + ], + "name" : "E. Choroba", + "id" : "E. Choroba" }, { "data" : [ @@ -192,28 +84,46 @@ 2 ] ], - "id" : "Joelle Maslak", - "name" : "Joelle Maslak" + "name" : "Joelle Maslak", + "id" : "Joelle Maslak" }, { - "id" : "Kevin Colyer", + "data" : [ + [ + "Perl 6", + 2 + ] + ], "name" : "Kevin Colyer", + "id" : "Kevin Colyer" + }, + { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ + "Perl 5", + 2 + ], + [ "Perl 6", 2 + ], + [ + "Blog", + 1 ] ] }, { - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch" }, { "data" : [ @@ -226,14 +136,14 @@ "name" : "Mark Anderson" }, { - "name" : "Markus Holzer", - "id" : "Markus Holzer", "data" : [ [ "Perl 6", 2 ] - ] + ], + "name" : "Markus Holzer", + "id" : "Markus Holzer" }, { "data" : [ @@ -246,8 +156,6 @@ "name" : "Noud" }, { - "name" : "Roger Bell West", - "id" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -257,11 +165,11 @@ "Perl 6", 1 ] - ] + ], + "id" : "Roger Bell West", + "name" : "Roger Bell West" }, { - "id" : "Ruben Westerberg", - "name" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -271,7 +179,9 @@ "Perl 6", 2 ] - ] + ], + "id" : "Ruben Westerberg", + "name" : "Ruben Westerberg" }, { "id" : "Simon Proctor", @@ -294,8 +204,8 @@ ] }, { - "name" : "Yet Ebreo", "id" : "Yet Ebreo", + "name" : "Yet Ebreo", "data" : [ [ "Perl 5", @@ -309,21 +219,134 @@ } ] }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } } }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 027", + "data" : [ + { + "y" : 3, + "drilldown" : "Adam Russell", + "name" : "Adam Russell" + }, + { + "name" : "Andrezgz", + "drilldown" : "Andrezgz", + "y" : 2 + }, + { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 2 + }, + { + "y" : 2, + "name" : "Duane Powell", + "drilldown" : "Duane Powell" + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 3 + }, + { + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak", + "y" : 4 + }, + { + "y" : 2, + "drilldown" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 + }, + { + "y" : 1, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", + "y" : 2 + }, + { + "name" : "Noud", + "drilldown" : "Noud", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Roger Bell West", + "name" : "Roger Bell West" + }, + { + "y" : 4, + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg" + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "drilldown" : "Trenton Langer", + "name" : "Trenton Langer", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Yet Ebreo", + "name" : "Yet Ebreo" + } + ] + } + ], "tooltip" : { "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "followPointer" : 1, "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : 0 + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2019-09-29 21:16:50 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 027" }, "xAxis" : { "type" : "category" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 9437ceab42..e0da245d34 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Last updated at 2019-09-29 21:17:00 GMT" }, "title" : { "text" : "Perl Weekly Challenge Contributions - 2019" }, - "legend" : { - "enabled" : "false" - }, "series" : [ { "data" : [ [ "Blog", - 289 + 290 ], [ "Perl 5", - 1089 + 1091 ], [ "Perl 6", - 664 + 666 ] ], "dataLabels" : { + "format" : "{point.y:.0f}", "rotation" : -90, "color" : "#FFFFFF", "enabled" : "true", + "align" : "right", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "format" : "{point.y:.0f}", - "y" : 10, - "align" : "right" + "y" : 10 }, "name" : "Contributions" } ], + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : "false" + }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "subtitle" : { - "text" : "Last updated at 2019-09-29 20:45:45 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 681f8bd749..2b007dc64a 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,25 +1,178 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "series" : [ + { + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true", + "data" : [ + { + "name" : "#001", + "drilldown" : "001", + "y" : 132 + }, + { + "name" : "#002", + "drilldown" : "002", + "y" : 104 + }, + { + "drilldown" : "003", + "name" : "#003", + "y" : 66 + }, + { + "y" : 86, + "drilldown" : "004", + "name" : "#004" + }, + { + "y" : 66, + "drilldown" : "005", + "name" : "#005" + }, + { + "y" : 47, + "name" : "#006", + "drilldown" : "006" + }, + { + "y" : 55, + "drilldown" : "007", + "name" : "#007" + }, + { + "drilldown" : "008", + "name" : "#008", + "y" : 69 + }, + { + "y" : 68, + "drilldown" : "009", + "name" : "#009" + }, + { + "y" : 60, + "name" : "#010", + "drilldown" : "010" + }, + { + "y" : 78, + "name" : "#011", + "drilldown" : "011" + }, + { + "y" : 83, + "name" : "#012", + "drilldown" : "012" + }, + { + "drilldown" : "013", + "name" : "#013", + "y" : 76 + }, + { + "y" : 95, + "drilldown" : "014", + "name" : "#014" + }, + { + "drilldown" : "015", + "name" : "#015", + "y" : 93 + }, + { + "y" : 66, + "drilldown" : "016", + "name" : "#016" + }, + { + "y" : 79, + "name" : "#017", + "drilldown" : "017" + }, + { + "drilldown" : "018", + "name" : "#018", + "y" : 76 + }, + { + "y" : 95, + "name" : "#019", + "drilldown" : "019" + }, + { + "drilldown" : "020", + "name" : "#020", + "y" : 95 + }, + { + "drilldown" : "021", + "name" : "#021", + "y" : 67 + }, + { + "drilldown" : "022", + "name" : "#022", + "y" : 63 + }, + { + "y" : 91, + "drilldown" : "023", + "name" : "#023" + }, + { + "y" : 70, + "name" : "#024", + "drilldown" : "024" + }, + { + "name" : "#025", + "drilldown" : "025", + "y" : 55 + }, + { + "y" : 67, + "drilldown" : "026", + "name" : "#026" + }, + { + "drilldown" : "027", + "name" : "#027", + "y" : 45 + } + ] } + ], + "title" : { + "text" : "Perl Weekly Challenge Language" }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-09-29 21:17:00 GMT" }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", "data" : [ [ @@ -34,7 +187,8 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { "name" : "002", @@ -55,6 +209,7 @@ ] }, { + "name" : "003", "data" : [ [ "Perl 5", @@ -69,11 +224,10 @@ 8 ] ], - "id" : "003", - "name" : "003" + "id" : "003" }, { - "name" : "004", + "id" : "004", "data" : [ [ "Perl 5", @@ -88,10 +242,10 @@ 9 ] ], - "id" : "004" + "name" : "004" }, { - "id" : "005", + "name" : "005", "data" : [ [ "Perl 5", @@ -106,7 +260,7 @@ 11 ] ], - "name" : "005" + "id" : "005" }, { "data" : [ @@ -128,6 +282,7 @@ }, { "name" : "007", + "id" : "007", "data" : [ |
