diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-12-29 23:55:12 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-12-29 23:55:12 +0000 |
| commit | 21427ef274b3ba8402af632acc8858dd828c15d0 (patch) | |
| tree | 5d7fdcc7c8bcdf8f211dc8a6ccc23448c1d28370 | |
| parent | 67ea9e1ec5b4acf3729ad8d8d737a67900c1bce8 (diff) | |
| download | perlweeklychallenge-club-21427ef274b3ba8402af632acc8858dd828c15d0.tar.gz perlweeklychallenge-club-21427ef274b3ba8402af632acc8858dd828c15d0.tar.bz2 perlweeklychallenge-club-21427ef274b3ba8402af632acc8858dd828c15d0.zip | |
- Added solutions by Colin Crain.
| -rw-r--r-- | challenge-040/colin-crain/perl5/ch-1.pl | 148 | ||||
| -rw-r--r-- | challenge-040/colin-crain/perl5/ch-2.pl | 73 | ||||
| -rw-r--r-- | challenge-040/colin-crain/perl6/ch-1.p6 | 57 | ||||
| -rw-r--r-- | challenge-040/colin-crain/perl6/ch-2.p6 | 63 | ||||
| -rw-r--r-- | stats/pwc-current.json | 323 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 70 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 328 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 970 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 324 |
14 files changed, 1496 insertions, 1132 deletions
diff --git a/challenge-040/colin-crain/perl5/ch-1.pl b/challenge-040/colin-crain/perl5/ch-1.pl new file mode 100644 index 0000000000..e4c331309b --- /dev/null +++ b/challenge-040/colin-crain/perl5/ch-1.pl @@ -0,0 +1,148 @@ +#! /opt/local/bin/perl +# +# ch-1.pl +# +# PWC 40 - TASK #1 +# Show multiple arrays content +# You are given two or more arrays. Write a script to display values of each list at a given index. +# +# For example: +# +# Array 1: [ I L O V E Y O U ] +# Array 2: [ 2 4 0 3 2 0 1 9 ] +# Array 3: [ ! ? £ $ % ^ & * ] +# We expect the following output: +# +# I 2 ! +# L 4 ? +# O 0 £ +# V 3 $ +# E 2 % +# Y 0 ^ +# O 1 & +# U 9 * +# +# method: So, the request here is for a Haskell-like, +# functional-programming-style "list convolution" function, +# interleaving multiple lists into one aggregate list of lists. This +# type of function, combining multiple lists into single, aggregate +# list of tuples by index, is usually called zip. Right out of the +# gate we need to mention about List::MoreUtils, which has a zip +# function that does this. Or perhaps not, because we have no +# intention of using it. Not today, zip, not today. But you should +# know it's there, along with cousins and variants. On that subject, +# Haskell, requiring as it does rather explicit definition to offer +# it's mathematical proof-like certainty in action, has different +# functions to zip differing numbers of lists, with zip, zip2, zip3 +# all the way to zip7. In perl we can generalize more, and our +# version will take as many arrays as offered. +# +# Another question is what to do with differing list lengths, as we can +# either provide a list of well-defined lists limited to the length of +# the shortest input, and toss any indexes that can't be completely +# interleaved, or insert data, even if that data is undef, and fill out +# the shorter lists to fit the longest. Haskell chooses the former idea, +# as does perl6. Did we mention Raku? Well it too has a zip function, by +# the way, like Haskell, built right in. One might even say the ideas +# are functionally related. See what I did there? Although in Raku one +# single function can handle any number of input lists to merge; it also +# has an infix binary Z operator which is pretty nest and can be chained +# to zip multiple lists. I believe List::MoreUtils::zip takes the latter choice, +# and will make sure every bit of data in each of the input lists will +# end up somewhere in the result, null padding the resultant lists with +# undefs as required. +# +# There really is no obvious right and wrong in either approach, as +# one removes data and the the other changes the lengths of shorter +# lists, which while subtle as it is could easily be construed as +# corruption. Because any list element can be undefined, a list with +# additional trailing undefs is not really the same list as one +# without, is it? Or put another way, the action of interleaving the +# lists is no longer reversible, as we can no longer distinguish +# between a short list whose last element is undef and and one that +# has been extended to create indices to interleave. + +# Then again the same can be said for truncated lists, but in that +# case the action of truncation is well defined with respect to the +# data we retain. We can reverse the process, and know for certain +# that the lists we produce will accurately reflect the data in the +# originals, even should one of those lists have undef for a trailing +# element. But we won't know whether there were any lists truncated, +# or any information about any missing elements. In the end the only +# way to make the call as to right and wrong is for which behavior is +# required, or matters. You, perhaps your language and your data can +# be the only judge. +# +# The lists to be interleaved will be provided as array references, +# the output will be a list of lists, or rather a reference to an +# array of array references. +# +# I think the well defined version is obviously safer, but have +# included an undef padded alternate for the brave, the foolish and +# data horders who just won't ever throw away anything, because you +# never know. I do that a lot, so I should know. +# +# 2019 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + +# use warnings; +use strict; +use feature ":5.26"; + +use Data::Dumper; +## ## ## ## ## MAIN + +## the given data: +my $a = ["I", "L", "O", "V", "E", "Y", "O", "U"]; +my $b = [ 2, 4, 0, 3, 2, 0, 1, 9 ]; +my $c = ['!', '?', '£', '$', '%', '^', '&', '*']; + +## add an element to @a to show truncation +push $a->@*, 'X'; + +my $zipped = zip( $a, $b, $c ); + +for my $list ( $zipped->@* ) { + say join ' ', $list->@*; +} + +say '=' x 25; + +## add more elements to @a to show the new behavior +push $a->@*, ('X') x 2, ('O') x 3; + +my $zipped_undef = zip_undef( $a, $b, $c ); + +for my $list ( $zipped_undef->@* ) { + say join ' ', $list->@*; +} + +## ## ## ## ## SUBS + +sub zip { +## interleaves into a list of lists, with an index for every element in the shortest input list +## longer lists will be truncated and the data unused + my @output; + my $shortest = (sort {$b <=> $a} map {scalar($_->@*)} @_)[0]; + for my $list ( @_ ){ + for my $idx (0..$shortest-1) { + push $output[$idx]->@*, $list->[$idx]; + } + } + return \@output; +} + +sub zip_undef { +## interleaves into a list of lists, with an index for every element in the longest input list +## shorter lists will be null padded with undefs to fit + my @output; + my $longest = ( sort {$a <=> $b} map {scalar($_->@*)} @_)[0]; + + for my $list ( @_ ){ + for my $idx (0..$longest-1) { + push $output[$idx]->@*, $list->[$idx]; ## this will autovivate undef elements as required + } + } + return \@output; +} diff --git a/challenge-040/colin-crain/perl5/ch-2.pl b/challenge-040/colin-crain/perl5/ch-2.pl new file mode 100644 index 0000000000..4cbe0ea2c2 --- /dev/null +++ b/challenge-040/colin-crain/perl5/ch-2.pl @@ -0,0 +1,73 @@ +#! /opt/local/bin/perl +# +# subsort.pl +# +# PWC 40 - TASK #2 +# Sort SubList +# You are given a list of numbers and set of indices belong to the +# list. Write a script to sort the values belongs to the indices. +# +# For example, +# +# List: [ 10, 4, 1, 8, 12, 3 ] +# Indices: 0,2,5 +# We would sort the values at indices 0, 2 and 5 i.e. 10, 1 and 3. +# +# Final List would look like below: +# +# List: [ 1, 4, 3, 8, 12, 10 ] +# +# method: Another puzzle from the list-processsing world! But like many +# confusing data structure problems, the answer reveals itself by +# first figuring out what the real question is. As such, this is +# dispatched in what amounts to two lines of code: in the first line +# we get the values at the indices specified from the original list +# and sort them; in the second line we alter the original list in +# place using the splice function, shifting our sorted values off +# one by one as we iterate through the specifying indices. +# +# One point of possible confusion in this challenge is the use of the +# word "set" in the specification of the indices, rather than "list". +# In mathematics set theory decribes the behavior of collections of +# items that either do or do not belong to a set; the order of the +# items is not normally considered. As such it will be understood that +# the sorted elements will be defined by the given indices taken as a +# whole, irrespective of the order those elements are delivered. By +# first sorting the list of indices we establish that the insertions +# into the master list will be made in a well defined, increasing +# order, synchronized with our list of sorted elements. +# +# The indices will be assumed to be numbers, the main elements will +# be sorted first numerically, then semantically if applicable. +# +# +# 2019 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN + +my $list = [ 10, 4, 1, 8, 12, 3 ]; +my $indices = [ 0, 5, 2 ]; + +## presort the index set to make an ordered list from low to high +my @indices = sort { $a <=> $b } $indices->@*; + +# OUTPUT +# +say "prechange list : [ ", (join ', ', $list->@*), " ]"; + +## we get the values at the indices specified from the original list and sort +my @sorted = sort {$a <=> $b || $a cmp $b } map { $list->[$_] } @indices; + +## reinsert the sorted data +splice( $list->@*, $_, 1, shift @sorted ) for @indices ; + +# OUTPUT +# +say "postchange list : [ ", (join ', ', $list->@*), " ]"; diff --git a/challenge-040/colin-crain/perl6/ch-1.p6 b/challenge-040/colin-crain/perl6/ch-1.p6 new file mode 100644 index 0000000000..a41dd552b9 --- /dev/null +++ b/challenge-040/colin-crain/perl6/ch-1.p6 @@ -0,0 +1,57 @@ +use v6; + +# ch-1.p6 +# +# PWC 40 - TASK #1 +# Show multiple arrays content +# You are given two or more arrays. Write a script to display values of each list at a given index. +# +# For example: +# +# Array 1: [ I L O V E Y O U ] +# Array 2: [ 2 4 0 3 2 0 1 9 ] +# Array 3: [ ! ? £ $ % ^ & * ] +# We expect the following output: +# +# I 2 ! +# L 4 ? +# O 0 £ +# V 3 $ +# E 2 % +# Y 0 ^ +# O 1 & +# U 9 * +# +# method: there's more than one way to do it, of course. In Raku there's even a +# choice of built-in zip operators available, the function zip() and +# the infix Z metaoperator. The Z metaoperator can be used here without its +# metaprocessing ability, which isn't necessary to just gather the +# elements. An example of the metaoperator, zipping (Z) with string +# concatenation (~) -> (Z~) is given as well. Note this makes a new string +# rather than a list. +# +# 2019 colin crain +# +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +my @a = <I L O V E Y O U>; +my @b = 2, 4, 0, 3, 2, 0, 1, 9; +my @c = <! ? £ $ % ^ & *>; + + +my @zipzip = zip @a, @b, @c; +my @zipZ = @a Z @b Z @c; +my @zipConcat = @a Z~ @b Z~ @c; + + +for @zipzip -> @list { + say join ' ', @list; +} +say '=' x 25; + +for @zipZ -> @list { + say join ' ', @list; +} +say '=' x 25; + +$_.say for @zipConcat; diff --git a/challenge-040/colin-crain/perl6/ch-2.p6 b/challenge-040/colin-crain/perl6/ch-2.p6 new file mode 100644 index 0000000000..370a544612 --- /dev/null +++ b/challenge-040/colin-crain/perl6/ch-2.p6 @@ -0,0 +1,63 @@ +use v6; + +# +# ch-2.p6 +# +# PWC 40 - TASK #2 +# Sort SubList +# You are given a list of numbers and set of indices belong to the +# list. Write a script to sort the values belongs to the indices. +# +# For example, +# +# List: [ 10, 4, 1, 8, 12, 3 ] +# Indices: 0,2,5 +# We would sort the values at indices 0, 2 and 5 i.e. 10, 1 and 3. +# +# Final List would look like below: +# +# List: [ 1, 4, 3, 8, 12, 10 ] +# +# method: this is a straightforward port of my perl 5 solution: like many +# confusing data structure problems, the answer reveals itself by +# first figuring out what the real question is. As such, this is +# dispatched in what amounts to two lines of code: in the first line +# we get the values at the indices specified from the original list +# and sort them; in the second line we alter the original list in +# place using the splice function, shifting our sorted values off one +# by one as we iterate through the specifying indices. +# +# One point of possible confusion in this challenge is the use of the +# word "set" in the specification of the indices, rather than "list". +# In mathematics set theory decribes the behavior of collections of +# items that either do or do not belong to a set; the order of the +# items is not normally considered. As such it will be understood that +# the sorted elements will be defined by the given indices taken as a +# whole, irrespective of the order those elements are delivered. By +# first sorting the list of indices we establish that the insertions +# into the master list will be made in a well defined, increasing +# order, synchronized with our list of sorted elements. +# +# +# 2019 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +sub MAIN { + + my @list = (10, 4, 1, 8, 12, 3); + my @indices = (0, 5, 2); + + ## presort the index set in place to make an ordered list from low to high + @indices .= sort; + + say "prechange list : [ ", (join ', ', @list), " ]"; + + ## we get the values at the indices specified from the original list and sort + my @sorted = (map { @list[$_] }, @indices ).sort; + + ## reinsert the sorted data + @list.splice( $_, 1, @sorted.shift) for @indices; + + say "postchange list : [ ", (join ', ', @list), " ]"; + +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 57207927c7..cbab314b12 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,133 +1,12 @@ { - "series" : [ - { - "data" : [ - { - "name" : "Adam Russell", - "drilldown" : "Adam Russell", - "y" : 3 - }, - { - "name" : "Andrezgz", - "drilldown" : "Andrezgz", - "y" : 2 - }, - { - "name" : "Anton Fedotov", - "drilldown" : "Anton Fedotov", - "y" : 2 - }, - { - "y" : 3, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "name" : "Burkhard Nickels", - "y" : 5, - "drilldown" : "Burkhard Nickels" - }, - { - "name" : "Duane Powell", - "y" : 2, - "drilldown" : "Duane Powell" - }, - { - "name" : "Duncan C. White", - "y" : 2, - "drilldown" : "Duncan C. White" - }, - { - "drilldown" : "E. Choroba", - "y" : 3, - "name" : "E. Choroba" - }, - { - "name" : "Javier Luque", - "y" : 5, - "drilldown" : "Javier Luque" - }, - { - "y" : 5, - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" - }, - { - "name" : "Lubos Kolouch", - "y" : 2, - "drilldown" : "Lubos Kolouch" - }, - { - "drilldown" : "Noud", - "y" : 2, - "name" : "Noud" - }, - { - "name" : "Roger Bell West", - "y" : 4, - "drilldown" : "Roger Bell West" - }, - { - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg", - "y" : 4 - }, - { - "y" : 5, - "drilldown" : "Ryan Thompson", - "name" : "Ryan Thompson" - }, - { - "drilldown" : "Saif Ahmed", - "y" : 2, - "name" : "Saif Ahmed" - }, - { - "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" - }, - { - "name" : "Steven Wilson", - "drilldown" : "Steven Wilson", - "y" : 2 - }, - { - "drilldown" : "Ulrich Rieke", - "y" : 2, - "name" : "Ulrich Rieke" - }, - { - "drilldown" : "Wanderdoc", - "y" : 2, - "name" : "Wanderdoc" - } - ], - "name" : "Perl Weekly Challenge - 040", - "colorByPoint" : 1 - } - ], - "subtitle" : { - "text" : "[Champions: 20] Last updated at 2019-12-29 23:24:26 GMT" - }, - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "title" : { + "text" : "Perl Weekly Challenge - 040" }, "drilldown" : { "series" : [ { "id" : "Adam Russell", + "name" : "Adam Russell", "data" : [ [ "Perl 5", @@ -137,8 +16,7 @@ "Blog", 1 ] - ], - "name" : "Adam Russell" + ] }, { "id" : "Andrezgz", @@ -197,6 +75,20 @@ [ "Perl 5", 2 + ], + [ + "Perl 6", + 2 + ] + ], + "name" : "Colin Crain", + "id" : "Colin Crain" + }, + { + "data" : [ + [ + "Perl 5", + 2 ] ], "name" : "Duane Powell", @@ -213,7 +105,6 @@ "id" : "Duncan C. White" }, { - "id" : "E. Choroba", "name" : "E. Choroba", "data" : [ [ @@ -224,10 +115,10 @@ "Blog", 1 ] - ] + ], + "id" : "E. Choroba" }, { - "id" : "Javier Luque", "name" : "Javier Luque", "data" : [ [ @@ -242,10 +133,12 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque" }, { "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -259,18 +152,17 @@ "Blog", 1 ] - ], - "name" : "Laurent Rosenfeld" + ] }, { - "id" : "Lubos Kolouch", - "name" : "Lubos Kolouch", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch" }, { "id" : "Noud", @@ -283,7 +175,6 @@ "name" : "Noud" }, { - "name" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -294,6 +185,7 @@ 2 ] ], + "name" : "Roger Bell West", "id" : "Roger Bell West" }, { @@ -311,7 +203,7 @@ ] }, { - "name" : "Ryan Thompson", + "id" : "Ryan Thompson", "data" : [ [ "Perl 5", @@ -326,60 +218,187 @@ 1 ] ], - "id" : "Ryan Thompson" + "name" : "Ryan Thompson" }, { + "name" : "Saif Ahmed", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Saif Ahmed", "id" : "Saif Ahmed" }, { + "id" : "Simon Proctor", "name" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Simon Proctor" + ] }, { + "id" : "Steven Wilson", + "name" : "Steven Wilson", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + ] }, { "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Ulrich Rieke" }, { - "id" : "Wanderdoc", + "name" : "Wanderdoc", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Wanderdoc" + "id" : "Wanderdoc" } ] }, + "subtitle" : { + "text" : "[Champions: 21] Last updated at 2019-12-29 23:54:55 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 040", + "colorByPoint" : 1, + "data" : [ + { + "y" : 3, + "drilldown" : "Adam Russell", + "name" : "Adam Russell" + }, + { + "drilldown" : "Andrezgz", + "name" : "Andrezgz", + "y" : 2 + }, + { + "name" : "Anton Fedotov", + "drilldown" : "Anton Fedotov", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "y" : 5, + "drilldown" : "Burkhard Nickels", + "name" : "Burkhard Nickels" + }, + { + "y" : 4, + "name" : "Colin Crain", + "drilldown" : "Colin Crain" + }, + { + "y" : 2, + "drilldown" : "Duane Powell", + "name" : "Duane Powell" + }, + { + "drilldown" : "Duncan C. White", + "name" : "Duncan C. White", + "y" : 2 + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 3 + }, + { + "drilldown" : "Javier Luque", + "name" : "Javier Luque", + "y" : 5 + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "y" : 2, + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "y" : 2, + "drilldown" : "Noud", + "name" : "Noud" + }, + { + "name" : "Roger Bell West", + "drilldown" : "Roger Bell West", + "y" : 4 + }, + { + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg", + "y" : 4 + }, + { + "drilldown" : "Ryan Thompson", + "name" : "Ryan Thompson", + "y" : 5 + }, + { + "name" : "Saif Ahmed", + "drilldown" : "Saif Ahmed", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor" + }, + { + "drilldown" : "Steven Wilson", + "name" : "Steven Wilson", + "y" : 2 + }, + { + "y" : 2, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "y" : 2, + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc" + } + ] + } + ], "plotOptions" : { "series" : { "borderWidth" : 0, @@ -389,12 +408,12 @@ } } }, - "title" : { - "text" : "Perl Weekly Challenge - 040" + "legend" : { + "enabled" : 0 }, "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/>", - "followPointer" : 1 + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1f312005a7..b7209fcc2c 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,28 +1,21 @@ { - "legend" : { - "enabled" : "false" - }, "yAxis" : { - "min" : 0, "title" : { "text" : null - } + }, + "min" : 0 + }, + "legend" : { + "enabled" : "false" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" + }, + "chart" : { + "type" : "column" }, "series" : [ { - "name" : "Contributions", - "dataLabels" : { - "color" : "#FFFFFF", - "y" : 10, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "enabled" : "true", - "rotation" : -90, - "align" : "right", - "format" : "{point.y:.0f}" - }, "data" : [ [ "Blog", @@ -30,34 +23,41 @@ ], [ "Perl 5", - 1651 + 1653 ], [ "Perl 6", - 990 + 992 ] - ] + ], + "name" : "Contributions", + "dataLabels" : { + "enabled" : "true", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "color" : "#FFFFFF", + "align" : "right", + "rotation" : -90, + "y" : 10, + "format" : "{point.y:.0f}" + } } ], "subtitle" : { - "text" : "Last updated at 2019-12-29 23:25:19 GMT" + "text" : "Last updated at 2019-12-29 23:55:07 GMT" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" }, "xAxis" : { - "type" : "category", "labels" : { "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" } - } - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" + }, + "type" : "category" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8b2047789e..50a833452e 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,13 +1,35 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, "series" : [ { "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", "data" : [ { - "name" : "#001", + "drilldown" : "001", "y" : 140, - "drilldown" : "001" + "name" : "#001" }, { "name" : "#002", @@ -16,48 +38,48 @@ }, { "drilldown" : "003", - "name" : "#003", - "y" : 71 + " |
