diff options
23 files changed, 1381 insertions, 955 deletions
diff --git a/challenge-023/mark-anderson/perl5/ch-1.pl b/challenge-023/mark-anderson/perl5/ch-1.pl new file mode 100644 index 0000000000..c225e84204 --- /dev/null +++ b/challenge-023/mark-anderson/perl5/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Getopt::Long; + +#usage: perl ch-1.pl -n=2 -- -11 13 -13 12; + +my $n = 1; +GetOptions('n=i' => \$n) ; + +my @X = (5, 9, 2, 8, 1, 6); +@X = @ARGV if @ARGV; + +while($n and @X > 1) { + my @Y; + foreach my $i (0 .. ($#X - 1)) { + push @Y, $X[$i+1] - $X[$i]; + } + $n--; + @X = @Y; +} + +$" = ", "; +say "@X"; diff --git a/challenge-023/mark-anderson/perl5/ch-2.pl b/challenge-023/mark-anderson/perl5/ch-2.pl new file mode 100644 index 0000000000..050d75104a --- /dev/null +++ b/challenge-023/mark-anderson/perl5/ch-2.pl @@ -0,0 +1,7 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Math::Prime::Util 'factor'; + +my $num = shift || 228; +say join ", ", factor($num); diff --git a/challenge-023/mark-anderson/perl5/ch-3.pl b/challenge-023/mark-anderson/perl5/ch-3.pl new file mode 100644 index 0000000000..53603f7ab7 --- /dev/null +++ b/challenge-023/mark-anderson/perl5/ch-3.pl @@ -0,0 +1,16 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Mojo::UserAgent; + +my $ua = Mojo::UserAgent->new; + +my $array = $ua->get("https://www.poemist.com/api/v1/randompoems") + ->result->json; + +foreach my $i (keys $array->@*) { + printf "%-7s%s\n", "URL:", $array->[$i]->{url}; + printf "%-7s%s\n", "Poet:", $array->[$i]->{poet}->{name}; + printf "%-7s%s\n\n", "Title:", $array->[$i]->{title}; + say $array->[$i]->{content}, "\n"; +} diff --git a/challenge-023/randy-lauen/perl5/ch-1.pl b/challenge-023/randy-lauen/perl5/ch-1.pl new file mode 100644 index 0000000000..2b8533c330 --- /dev/null +++ b/challenge-023/randy-lauen/perl5/ch-1.pl @@ -0,0 +1,30 @@ +#!/usr/bin/env perl + +=head1 SYNOPSIS + +Task: +Create a script that prints nth order forward difference series. You should be a +able to pass the list of numbers and order number as command line parameters. + +Usage: + $ perl ch-1.pl --order=1 5 9 2 8 1 6 + +=cut + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; + +my $order; +GetOptions( 'order=i' => \$order ) or die; + +my @numbers = @ARGV; + +foreach my $order ( 1 .. $order ) { + @numbers = map { $numbers[ $_ ] - $numbers[ $_ - 1 ] } 1 .. $#numbers; + say "$order: " . join(', ', @numbers); + last if @numbers == 1; +} + diff --git a/challenge-023/randy-lauen/perl5/ch-2.pl b/challenge-023/randy-lauen/perl5/ch-2.pl new file mode 100644 index 0000000000..45aae0214e --- /dev/null +++ b/challenge-023/randy-lauen/perl5/ch-2.pl @@ -0,0 +1,50 @@ +#!/usr/bin/env perl + +=head1 SYNOPSIS + +Task: +Create a script that prints Prime Decomposition of a given number. The prime decomposition of a number is +defined as a list of prime numbers which when all multiplied together, are equal to that number. For example, +the Prime decomposition of 228 is 2,2,3,19 as 228 = 2 * 2 * 3 * 19. + +Usage: + $ perl ch-2.pl 228 + +Notes: +I used the algorithm described here: https://www.geeksforgeeks.org/print-all-prime-factors-of-a-given-number/ + +=cut + +use strict; +use warnings; +use feature 'say'; + +my $num = $ARGV[0] // ''; +die "Must pass an integer > 0 as the first argument\n" unless $num && $num =~ /^\d+$/; + +say $num == 1 + ? "No prime factors for 1" + : join(', ', prime_factors( $num ) ) +; + +exit 0; + +sub prime_factors { + my $n = shift; + + my @factors; + while ( $n % 2 == 0 ) { + push @factors, 2; + $n /= 2; + } + for ( my $i = 3; $i <= sqrt($n); $i += 2 ) { + while ( $n % $i == 0 ) { + push @factors, $i; + $n /= $i; + } + } + push @factors, $n if $n > 2; + + return @factors; +} + diff --git a/challenge-023/randy-lauen/perl5/ch-3.pl b/challenge-023/randy-lauen/perl5/ch-3.pl new file mode 100644 index 0000000000..d4fd4c6973 --- /dev/null +++ b/challenge-023/randy-lauen/perl5/ch-3.pl @@ -0,0 +1,44 @@ +#!/usr/bin/env perl + +=head2 SYNOPSIS + +Task: +Write a script to use Random Poems API. + +Usage: + $ perl ch-3.pl + +Notes: +This script prints the shortest poem returned by the randompoems endpoint. +The Poemist API docs are located here: https://poemist.github.io/poemist-apidoc/ + +=cut + +use v5.28; +use strict; +use warnings; + +use JSON qw( decode_json ); +use List::UtilsBy qw( nsort_by ); +use Net::Curl::Simple (); + +binmode(STDOUT, "encoding(UTF-8)"); + +my $curl = Net::Curl::Simple->new(); +$curl->get( 'https://www.poemist.com/api/v1/randompoems' ); + +my ($poem) = + nsort_by { length( $_->{content} ) } + map { $_->@* } + decode_json( $curl->content ) +; + +say qq["$poem->{title}" by $poem->{poet}->{name}]; +say ''; +say $poem->{content}; +say ''; +say $poem->{url}; + +exit 0; + + diff --git a/challenge-023/randy-lauen/perl6/ch-1.p6 b/challenge-023/randy-lauen/perl6/ch-1.p6 new file mode 100644 index 0000000000..a239b28586 --- /dev/null +++ b/challenge-023/randy-lauen/perl6/ch-1.p6 @@ -0,0 +1,27 @@ +#!/usr/bin/env perl6 + +=begin SYNOPSIS + +Task: +Create a script that prints nth order forward difference series. You should be a +able to pass the list of numbers and order number as command line parameters. + +Usage: + $ perl6 ch-1.p6 --order=1 5 9 2 8 1 6 + +Notes: +I don't really understand all the intricacies of the << hyper operator and what +the different pointy directions mean, especially when the lists are different +sizes. But, after fiddling with it in the perl6 REPL, I managed to find the +behavior I was looking for. + +=end SYNOPSIS + +sub MAIN( Int :$order!, *@numbers where *.elems > 0 ) { + for 1 .. $order -> $i { + @numbers = @numbers.tail(*-1) >>->> @numbers; + say "$i: @numbers.join(', ')"; + last if @numbers.elems == 1; + } +} + diff --git a/challenge-023/randy-lauen/perl6/ch-2.p6 b/challenge-023/randy-lauen/perl6/ch-2.p6 new file mode 100644 index 0000000000..c5a5c1bd5c --- /dev/null +++ b/challenge-023/randy-lauen/perl6/ch-2.p6 @@ -0,0 +1,59 @@ +#!/usr/bin/env perl6 + +=begin SYNOPSIS + +Task: +Create a script that prints Prime Decomposition of a given number. The prime decomposition of a number is +defined as a list of prime numbers which when all multiplied together, are equal to that number. For example, +the Prime decomposition of 228 is 2,2,3,19 as 228 = 2 * 2 * 3 * 19. + +Usage: + $ perl6 ch-2.p6 228 # print out prime factors + $ perl6 ch-2.p6 --test # test results against Prime::Factor + +Notes: +I used the algorithm described here: https://www.geeksforgeeks.org/print-all-prime-factors-of-a-given-number/ + +=end SYNOPSIS + +sub my-prime-factors( Int $n is copy ) { + my @factors; + while $n %% 2 { + @factors.push: 2; + $n = ($n / 2).Int; + } + for 3, 5 ... sqrt($n) -> $i { + while $n %% $i { + @factors.push: $i; + $n = ($n / $i).Int; + } + } + @factors.push: $n if $n > 2; + + return @factors; +} + + +multi MAIN( Int $input where * > 0 ) { + my @factors = my-prime-factors( $input ); + say @factors.elems + ?? @factors.join(', ') + !! "No prime factors for: $input"; + ; +} + + +multi MAIN( Bool :$test! ) { + use Test; + use Prime::Factor; + + plan 1; + + my $max = 10_000; + my %mine = hyper for 1 .. $max { $_ => my-prime-factors($_).List }; + my %expected = hyper for 1 .. $max { $_ => prime-factors($_).List }; + + is-deeply( %mine, %expected, "all prime factors up to $max match" ); +} + + diff --git a/challenge-023/randy-lauen/perl6/ch-3.p6 b/challenge-023/randy-lauen/perl6/ch-3.p6 new file mode 100644 index 0000000000..7ca7213c0a --- /dev/null +++ b/challenge-023/randy-lauen/perl6/ch-3.p6 @@ -0,0 +1,31 @@ +#!/usr/bin/env perl6 + +=begin SYNOPSIS + +Task: +Write a script to use Random Poems API. + +Usage: + $ perl6 ch-3.p6 + +Notes: +This script prints the shortest poem returned by the randompoems endpoint. +The Poemist API docs are located here: https://poemist.github.io/poemist-apidoc/ + +=end SYNOPSIS + +use Cro::HTTP::Client; + +my $response = await Cro::HTTP::Client.get( "https://www.poemist.com/api/v1/randompoems" ); +my $json = await $response.body; +my $poem = $json.sort({ .<content>.chars }).first; + +say qq["$poem<title>" by $poem<poet><name>]; +say ''; +say $poem<content>; +say ''; +say $poem<url>; + +exit; + + diff --git a/challenge-023/ruben-westerberg/README b/challenge-023/ruben-westerberg/README index 26a2690833..fa2d20850a 100644 --- a/challenge-023/ruben-westerberg/README +++ b/challenge-023/ruben-westerberg/README @@ -2,9 +2,17 @@ Solution by Ruben Westerberg ch-1.pl and ch-1.p6 === -Run the program to calculate the first ten sexy prime pairs +Run the program to calculate the forward difference of a number sequence entered on the command line. +If no order is specified an order of 1 is used and if no sequence is specified a example sequence is used + + ch-1.pl usage: + ./ch-1.pl -o 2 -- 1 3 6 9 + ch-2.p6 usage: + ./ch-1.p6 --order=2 1 3 6 9 ch-2.pl and ch-2.p6 === -Run the program with a command line argument to demonstrate the LZW encoding. With no argument, a demonstration string is used +Run the program to display the prime decomposition of the number intered on the command line. +If no number is specifed the demo value of 228 is decomposed. + diff --git a/challenge-023/ruben-westerberg/perl5/ch-1.pl b/challenge-023/ruben-westerberg/perl5/ch-1.pl new file mode 100755 index 0000000000..9751a5ac90 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl5/ch-1.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use List::Util qw<reduce>; +use Getopt::Long; +use v5.26; +my $order=1; + +GetOptions("order=i" => \$order); +my @values=@ARGV?@ARGV:(5, 9, 2, 8, 1, 6); + +for (0..$order-1) { + @values=map( { reduce {$a-$b} @values[$_, $_-1];} 1..@values-1); +} +print join " ", @values; diff --git a/challenge-023/ruben-westerberg/perl5/ch-2.pl b/challenge-023/ruben-westerberg/perl5/ch-2.pl new file mode 100755 index 0000000000..50e9cc2d98 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl5/ch-2.pl @@ -0,0 +1,37 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use v5.26; + +my $i=0; +my @primes; +my @factors; +my $value=my $number=$ARGV[0]//228; +while (1) { + push(@primes, nextPrime()) if $i >= @primes; + last if $primes[$i]>$value; + if ($value%$primes[$i]==0) { + $value/=$primes[$i]; + push @factors, $primes[$i]; + $i=0; + } + else { + $i++; + } +} +print "Prime decomposition of $number: ",join " ", @factors if @factors >1; +print "No decomposition for $number\n" if @factors ==1; +sub nextPrime { + state $t=1; + while (1) { + + $t++; + my $sum=0; + for (1..(int $t/2)) { + $sum++ if $t % $_ == 0; + last if $sum >1; + } + last if $sum==1; + } + $t; +} diff --git a/challenge-023/ruben-westerberg/perl6/ch-1.p6 b/challenge-023/ruben-westerberg/perl6/ch-1.p6 new file mode 100755 index 0000000000..19dd7c2b31 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl6/ch-1.p6 @@ -0,0 +1,7 @@ +#!/usr/bin/env perl6 +# +sub MAIN(:$order=1,*@values){ + @values=(5, 9, 2, 8, 1, 6 ) if !@values; + @values= map( { [-] @values[$_,$_-1]}, @values.keys[1..*-1]) for ^$order ; + put @values; +} diff --git a/challenge-023/ruben-westerberg/perl6/ch-2.p6 b/challenge-023/ruben-westerberg/perl6/ch-2.p6 new file mode 100755 index 0000000000..3753c92e07 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl6/ch-2.p6 @@ -0,0 +1,22 @@ +#!/usr/bin/env perl6 + + +sub MAIN(*@a) { + my $primes=(0..*).grep({.is-prime}).cache; + my @factors; + my $i=0; + my $value=my $number=@a[0]//228; + loop { + if $value%%$primes[$i] { + $value/=$primes[$i]; + @factors.push: $primes[$i]; + $i=0; + } + else { + $i++; + } + last if $primes[$i]>$value; + } + put "Prime decomposition of $number: @factors[]" if @factors >1; + put "No decomposition for $number" if @factors ==1; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a438aa429c..15c2faed27 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,26 +1,103 @@ { + "title" : { + "text" : "Perl Weekly Challenge - 023" + }, "tooltip" : { - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : 1 + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "[Champions: 10] Last updated at 2019-08-29 14:29:17 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 023", + "data" : [ + { + "y" : 2, + "name" : "Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "drilldown" : "Arne Sommer", + "y" : 5, + "name" : "Arne Sommer" + }, + { + "name" : "Duane Powell", + "y" : 2, + "drilldown" : "Duane Powell" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "drilldown" : "Mark Anderson", + "y" : 3, + "name" : "Mark Anderson" + }, + { + "drilldown" : "Randy Lauen", + "y" : 6, + "name" : "Randy Lauen" + }, + { + "drilldown" : "Roger Bell West", + "y" : 5, + "name" : "Roger Bell West" + }, + { + "y" : 4, + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg" + }, + { + "name" : "Simon Proctor", + "y" : 2, + "drilldown" : "Simon Proctor" + }, + { + "drilldown" : "Yet Ebreo", + "name" : "Yet Ebreo", + "y" : 6 + } + ] + } + ], + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { - "id" : "Andrezgz", - "name" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Andrezgz", + "name" : "Andrezgz" }, { - "id" : "Arne Sommer", "name" : "Arne Sommer", "data" : [ [ @@ -35,7 +112,8 @@ "Blog", 1 ] - ] + ], + "id" : "Arne Sommer" }, { "data" : [ @@ -44,11 +122,12 @@ 2 ] ], - "name" : "Duane Powell", - "id" : "Duane Powell" + "id" : "Duane Powell", + "name" : "Duane Powell" }, { "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -62,11 +141,33 @@ "Blog", 1 ] + ] + }, + { + "id" : "Mark Anderson", + "data" : [ + [ + "Perl 5", + 3 + ] + ], + "name" : "Mark Anderson" + }, + { + "data" : [ + [ + "Perl 5", + 3 + ], + [ + "Perl 6", + 3 + ] ], - "id" : "Laurent Rosenfeld" + "id" : "Randy Lauen", + "name" : "Randy Lauen" }, { - "id" : "Roger Bell West", "name" : "Roger Bell West", "data" : [ [ @@ -81,7 +182,22 @@ "Blog", 1 ] - ] + ], + "id" : "Roger Bell West" + }, + { + "id" : "Ruben Westerberg", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Perl 6", + 2 + ] + ], + "name" : "Ruben Westerberg" }, { "data" : [ @@ -90,10 +206,12 @@ 2 ] ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { + "name" : "Yet Ebreo", + "id" : "Yet Ebreo", "data" : [ [ "Perl 5", @@ -103,79 +221,14 @@ "Perl 6", 3 ] - ], - "name" : "Yet Ebreo", - "id" : "Yet Ebreo" + ] } ] }, - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "legend" : { "enabled" : 0 }, - "subtitle" : { - "text" : "[Champions: 7] Last updated at 2019-08-28 10:27:07 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "title" : { - "text" : "Perl Weekly Challenge - 023" - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 023", - "data" : [ - { - "y" : 2, - "drilldown" : "Andrezgz", - "name" : "Andrezgz" - }, - { - "y" : 5, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "drilldown" : "Duane Powell", - "name" : "Duane Powell", - "y" : 2 - }, - { - "y" : 5, - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld" - }, - { - "y" : 5, - "drilldown" : "Roger Bell West", - "name" : "Roger Bell West" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "drilldown" : "Yet Ebreo", - "name" : "Yet Ebreo", - "y" : 6 - } - ], - "colorByPoint" : 1 - } - ] + "chart" : { + "type" : "column" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index aaabb61943..3dad3d39ef 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,28 +1,40 @@ { - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" - }, - "subtitle" : { - "text" : "Last updated at 2019-08-28 10:31:17 GMT" - }, "xAxis" : { "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } }, "type" : "category" }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Last updated at 2019-08-29 14:29:39 GMT" + }, + "legend" : { + "enabled" : "false" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" + }, "series" : [ { "name" : "Contributions", + "dataLabels" : { + "format" : "{point.y:.0f}", + "rotation" : -90, + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "align" : "right", + "y" : 10, + "color" : "#FFFFFF", + "enabled" : "true" + }, "data" : [ [ "Blog", @@ -30,32 +42,20 @@ ], [ "Perl 5", - 932 + 940 ], [ "Perl 6", - 562 + 567 ] - ], - "dataLabels" : { - "enabled" : "true", - "y" : 10, - "align" : "right", - "rotation" : -90, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "color" : "#FFFFFF", - "format" : "{point.y:.0f}" - } + ] } ], - "legend" : { - "enabled" : "false" - }, - "chart" : { - "type" : "column" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8c8cd2d725..0056c79ac1 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,138 +1,37 @@ { + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-29 14:29:39 GMT" + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, "legend" : { "enabled" : "false" }, - "series" : [ - { - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", - "data" : [ - { - "name" : "#001", - "y" : 127, - "drilldown" : "001" - }, - { - "y" : 104, - "name" : "#002", - "drilldown" : "002" - }, - { - "drilldown" : "003", - "y" : 66, - "name" : "#003" - }, - { - "drilldown" : "004", - "y" : 86, - "name" : "#004" - }, - { - "name" : "#005", - "y" : 66, - "drilldown" : "005" - }, - { - "drilldown" : "006", - "y" : 47, - "name" : "#006" - }, - { - "drilldown" : "007", - "name" : "#007", - "y" : 55 - }, - { - "drilldown" : "008", - "y" : 68, - "name" : "#008" - }, - { - "drilldown" : "009", - "y" : 66, - "name" : "#009" - }, - { - "y" : 59, - "name" : "#010", - "drilldown" : "010" - }, - { - "y" : 78, - "name" : "#011", - "drilldown" : "011" - }, - { - "drilldown" : "012", - "y" : 82, - "name" : "#012" - }, - { - "drilldown" : "013", - "y" : 75, - "name" : "#013" - }, - { - "y" : 95, - "name" : "#014", - "drilldown" : "014" - }, - { - "drilldown" : "015", - "y" : 91, - "name" : "#015" - }, - { - "drilldown" : "016", - "name" : "#016", - "y" : 65 - }, - { - "name" : "#017", - "y" : 78, - "drilldown" : "017" - }, - { - "drilldown" : "018", - "y" : 76, - "name" : "#018" - }, - { - "y" : 95, - "name" : "#019", - "drilldown" : "019" - }, - { - "y" : 95, - "name" : "#020", - "drilldown" : "020" - }, - { - "name" : "#021", - "y" : 66, - "drilldown" : "021" - }, - { - "drilldown" : "022", - "y" : 60, - "name" : "#022" - }, - { - "y" : 27, - "name" : "#023", - "drilldown" : "023" - } - ] - } - ], + "xAxis" : { + "type" : "category" + }, "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + " |
