package Ġspace . k science . plot ly . models Ċ Ċ import Ġspace . k science . data forge . meta .* Ċ import Ġspace . k science . plot ly . int GreaterThan Ċ import Ġspace . k science . plot ly . number GreaterThan Ċ import Ġkotlin . js . Js Name ĊĊ Ċ public Ġenum Ġclass ĠH ist Func Ġ{ ĊĠĠĠ Ġcount , ĊĠĠĠ Ġsum , ĊĊĠĠĠ Ġ@ Js Name (" avg ") ĊĠĠĠ Ġaverage , ĊĠĠĠ Ġmin , ĊĠĠĠ Ġmax Ċ } Ċ Ċ public Ġenum Ġclass ĠH ist Norm Ġ{ ĊĠĠĠ Ġempty , ĊĠĠĠ Ġpercent , ĊĠĠĠ Ġprobability , ĊĠĠĠ Ġdensity , ĊĊĠĠĠ Ġ@ Js Name (" probability Density ") ĊĠĠĠ Ġ` probability Ġdensity ` Ċ } Ċ Ċ public Ġclass ĠB ins Ġ: ĠScheme () Ġ{ ĊĠĠĠ Ġ// FIX ME (" add Ġcategorical Ġcoordinate Ġstring ") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġstarting Ġvalue Ġfor Ġthe Ġx Ġaxis Ġbins . ĊĠĠĠĠ Ġ* ĠDefaults Ġto Ġthe Ġminimum Ġdata Ġvalue , Ġshifted Ġdown ĊĠĠĠĠ Ġ* Ġif Ġnecessary Ġto Ġmake Ġnice Ġround Ġvalues Ġand Ġto Ġremove ĊĠĠĠĠ Ġ* Ġambiguous Ġbin Ġedges . ĠFor Ġexample , Ġif Ġmost Ġof Ġthe Ġdata ĊĠĠĠĠ Ġ* Ġis Ġintegers Ġwe Ġshift Ġthe Ġbin Ġedges Ġ 0 . 5 Ġdown , Ġso Ġa Ġ` size ` ĊĠĠĠĠ Ġ* Ġof Ġ 5 Ġwould Ġhave Ġa Ġdefault Ġ` start ` Ġof Ġ- 0 . 5 , Ġso Ġit Ġis Ġclear ĊĠĠĠĠ Ġ* Ġthat Ġ 0 - 4 Ġare Ġin Ġthe Ġfirst Ġbin , Ġ 5 - 9 Ġin Ġthe Ġsecond , Ġbut ĊĠĠĠĠ Ġ* Ġcontinuous Ġdata Ġgets Ġa Ġstart Ġof Ġ 0 Ġand Ġbins Ġ[ 0 , 5 ), Ġ[ 5 , 1 0 ) Ġetc . ĊĠĠĠĠ Ġ* ĠD ates Ġbehave Ġsimilar ly , Ġand Ġ` start ` Ġshould Ġbe Ġa Ġdate Ġstring . ĊĠĠĠĠ Ġ* ĠFor Ġcategory Ġdata , Ġ` start ` Ġis Ġbased Ġon Ġthe Ġcategory ĊĠĠĠĠ Ġ* Ġserial Ġnumbers , Ġand Ġdefaults Ġto Ġ- 0 . 5 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġstart : ĠNumber ? Ġby Ġnumber () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġend Ġvalue Ġfor Ġthe Ġx Ġaxis Ġbins . ĠThe Ġlast Ġbin Ġmay ĊĠĠĠĠ Ġ* Ġnot Ġend Ġexactly Ġat Ġthis Ġvalue , Ġwe Ġincrement Ġthe Ġbin Ġedge ĊĠĠĠĠ Ġ* Ġby Ġ` size ` Ġfrom Ġ` start ` Ġuntil Ġwe Ġreach Ġor Ġexceed Ġ` end `. ĊĠĠĠĠ Ġ* ĠDefaults Ġto Ġthe Ġmaximum Ġdata Ġvalue . ĠLike Ġ` start `, Ġfor ĊĠĠĠĠ Ġ* Ġdates Ġuse Ġa Ġdate Ġstring , Ġand Ġfor Ġcategory Ġdata Ġ` end ` ĊĠĠĠĠ Ġ* Ġis Ġbased Ġon Ġthe Ġcategory Ġserial Ġnumbers . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġend : ĠNumber ? Ġby Ġnumber () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġsize Ġof Ġeach Ġx Ġaxis Ġbin . ĠDefault Ġbehavior : ĊĠĠĠĠ Ġ* ĠIf Ġ` nb ins x ` Ġis Ġ 0 Ġor Ġomitted , Ġwe Ġchoose Ġa Ġnice Ġround ĊĠĠĠĠ Ġ* Ġbin Ġsize Ġsuch Ġthat Ġthe Ġnumber Ġof Ġbins Ġis Ġabout ĊĠĠĠĠ Ġ* Ġthe Ġsame Ġas Ġthe Ġtypical Ġnumber Ġof Ġsamples Ġin Ġeach Ġbin . ĊĠĠĠĠ Ġ* ĠIf Ġ` nb ins x ` Ġis Ġprovided , Ġwe Ġchoose Ġa Ġnice Ġround Ġbin Ġsize ĊĠĠĠĠ Ġ* Ġgiving Ġno Ġmore Ġthan Ġthat Ġmany Ġbins . ĠFor Ġdate Ġdata , ĊĠĠĠĠ Ġ* Ġuse Ġmilliseconds Ġor Ġ" M < n >" Ġfor Ġmonths , Ġas Ġin Ġ` axis . dt ick `. ĊĠĠĠĠ Ġ* ĠFor Ġcategory Ġdata , Ġthe Ġnumber Ġof Ġcategories Ġto Ġbin Ġtogether ĊĠĠĠĠ Ġ* Ġ( always Ġdefaults Ġto Ġ 1 ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġsize : ĠNumber Ġby Ġnumber GreaterThan ( 0 ) ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ: ĠScheme Spec < Bins >( :: Bins ) Ċ } Ċ Ċ public Ġenum Ġclass ĠHistogram Direction Ġ{ ĊĠĠĠ Ġincreasing , ĊĠĠĠ Ġde creasing Ċ } Ċ Ċ public Ġenum Ġclass ĠCurrent Bin Ġ{ ĊĠĠĠ Ġinclude , ĊĠĠĠ Ġexclude , ĊĠĠĠ Ġhalf Ċ } Ċ Ċ public Ġclass ĠC umulative Ġ: ĠScheme () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġtrue , Ġdisplay Ġthe Ġcumulative Ġdistribution Ġby Ġsum ming ĊĠĠĠĠ Ġ* Ġthe Ġbin ned Ġvalues . ĠUse Ġthe Ġ` direction ` Ġand Ġ` central bin ` ĊĠĠĠĠ Ġ* Ġattributes Ġto Ġtune Ġthe Ġaccum ulation Ġmethod . ĠNote : Ġin Ġthis Ġmode , ĊĠĠĠĠ Ġ* Ġthe Ġ" density " Ġ` hist norm ` Ġsettings Ġbehave Ġthe Ġsame ĊĠĠĠĠ Ġ* Ġas Ġtheir Ġequivalent s Ġwithout Ġ" density ": Ġ"" Ġand Ġ" density " ĊĠĠĠĠ Ġ* Ġboth Ġri se Ġto Ġthe Ġnumber Ġof Ġdata Ġpoints , Ġand Ġ" probability " ĊĠĠĠĠ Ġ* Ġand Ġ" probability Ġdensity " Ġboth Ġri se Ġto Ġthe Ġnumber Ġof Ġsample Ġpoints . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġenabled : ĠBoolean ? Ġby Ġboolean () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEnum erated Ġ, Ġone Ġof Ġ( Ġ" include " Ġ| Ġ" exclude " Ġ| Ġ" half " Ġ) ĊĠĠĠĠ Ġ* ĠOnly Ġapplies Ġif Ġcumulative Ġis Ġenabled . ĠSets Ġwhether Ġthe Ġcurrent Ġbin ĊĠĠĠĠ Ġ* Ġis Ġincluded , Ġexcluded , Ġor Ġhas Ġhalf Ġof Ġits Ġvalue Ġincluded Ġin ĊĠĠĠĠ Ġ* Ġthe Ġcurrent Ġcumulative Ġvalue . Ġ" include " Ġis Ġthe Ġdefault Ġfor ĊĠĠĠĠ Ġ* Ġcompatibility Ġwith Ġvarious Ġother Ġtools , Ġhowever Ġit Ġintroduces ĊĠĠĠĠ Ġ* Ġa Ġhalf - bin Ġbias Ġto Ġthe Ġresults . Ġ" exclude " Ġmakes Ġthe Ġopposite ĊĠĠĠĠ Ġ* Ġhalf - bin Ġbias , Ġand Ġ" half " Ġremoves Ġit . ĊĠĠĠĠ Ġ* ĠDefault : Ġinclude . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġcurrent bin : ĠCurrent Bin Ġby Ġenum ( Current Bin . include ) ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ: ĠScheme Spec < C umulative >( :: C umulative ) Ċ } ĊĊ Ċ public Ġopen Ġclass ĠHistogram Ġ: ĠTrace () Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtype Ġ= ĠTrace Type . histogram ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEnum erated , Ġone Ġof Ġ( Ġ" empty " Ġ| Ġ" percent " Ġ| Ġ" probability " Ġ| Ġ" density " Ġ| Ġ" probability Ġdensity " Ġ) ĊĠĠĠĠ Ġ* ĠSpecifies Ġthe Ġtype Ġof Ġnormalization Ġused Ġfor Ġthis Ġhistogram Ġtrace . ĊĠĠĠĠ Ġ* ĠIf Ġ" empty ", Ġthe Ġspan Ġof Ġeach Ġbar Ġcorresponds Ġto Ġthe Ġnumber Ġof Ġoccurrences ĊĠĠĠĠ Ġ* Ġ( i . e . Ġthe Ġnumber Ġof Ġdata Ġpoints Ġl ying Ġinside Ġthe Ġbins ). ĠIf Ġ" percent " Ġ/ Ġ" probability ", ĊĠĠĠĠ Ġ* Ġthe Ġspan Ġof Ġeach Ġbar Ġcorresponds Ġto Ġthe Ġpercentage Ġ/ Ġfraction Ġof Ġoccurrences ĊĠĠĠĠ Ġ* Ġwith Ġrespect Ġto Ġthe Ġtotal Ġnumber Ġof Ġsample Ġpoints Ġ( here , Ġthe Ġsum Ġof Ġall ĊĠĠĠĠ Ġ* Ġbin ĠHEIGHT S Ġequals Ġ 1 0 0 % Ġ/ Ġ 1 ). ĠIf Ġ" density ", Ġthe Ġspan Ġof Ġeach Ġbar Ġcorresponds ĊĠĠĠĠ Ġ* Ġto Ġthe Ġnumber Ġof Ġoccurrences Ġin Ġa Ġbin Ġdivided Ġby Ġthe Ġsize Ġof Ġthe Ġbin Ġinterval ĊĠĠĠĠ Ġ* Ġ( here , Ġthe Ġsum Ġof Ġall Ġbin ĠARE AS Ġequals Ġthe Ġtotal Ġnumber Ġof Ġsample Ġpoints ). ĊĠĠĠĠ Ġ* ĠIf Ġ" probability Ġdensity ", Ġthe Ġarea Ġof Ġeach Ġbar Ġcorresponds Ġto Ġthe Ġprobability ĊĠĠĠĠ Ġ* Ġthat Ġan Ġevent Ġwill Ġfall Ġinto Ġthe Ġcorresponding Ġbin Ġ( here , Ġthe Ġsum Ġof Ġall Ġbin ĠARE AS Ġequals Ġ 1 ). ĊĠĠĠĠ Ġ* ĠDefault : Ġ" empty ". ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġhist norm : ĠH ist Norm Ġby Ġenum ( Hist Norm . empty ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEnum erated Ġ, Ġone Ġof Ġ( Ġ" count " Ġ| Ġ" sum " Ġ| Ġ" avg " Ġ| Ġ" min " Ġ| Ġ" max " Ġ) ĊĠĠĠĠ Ġ* ĠSpecifies Ġthe Ġbin ning Ġfunction Ġused Ġfor Ġthis Ġhistogram Ġtrace . ĊĠĠĠĠ Ġ* ĠIf Ġ" count ", Ġthe Ġhistogram Ġvalues Ġare Ġcomputed Ġby Ġcounting Ġthe ĊĠĠĠĠ Ġ* Ġnumber Ġof Ġvalues Ġl ying Ġinside Ġeach Ġbin . ĠIf Ġ" sum ", Ġ" avg ", Ġ" min ", Ġ" max ", ĊĠĠĠĠ Ġ* Ġthe Ġhistogram Ġvalues Ġare Ġcomputed Ġusing Ġthe Ġsum , Ġthe Ġaverage , ĊĠĠĠĠ Ġ* Ġthe Ġminimum Ġor Ġthe Ġmaximum Ġof Ġthe Ġvalues Ġl ying Ġinside Ġeach Ġbin Ġrespectively . ĊĠĠĠĠ Ġ* ĠDefault : Ġ" count " ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġhist func : ĠH ist Func Ġby Ġenum ( Hist Func . count ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEnum erated Ġ, Ġone Ġof Ġ( Ġ" in creasing " Ġ| Ġ" de creasing " Ġ) ĊĠĠĠĠ Ġ* ĠOnly Ġapplies Ġif Ġcumulative Ġis Ġenabled . ĠIf Ġ" in creasing " Ġ( default ) ĊĠĠĠĠ Ġ* Ġwe Ġsum Ġall Ġprior Ġbins , Ġso Ġthe Ġresult Ġincreases Ġfrom Ġleft Ġto Ġright . ĊĠĠĠĠ Ġ* ĠIf Ġ" de creasing " Ġwe Ġsum Ġlater Ġbins Ġso Ġthe Ġresult Ġde creases Ġfrom Ġleft Ġto Ġright . ĊĠĠĠĠ Ġ* ĠDefault : Ġincreasing . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġdirection : ĠHistogram Direction Ġby Ġenum ( Histogram Direction . in creasing ) ĊĊĠĠĠ Ġpublic Ġvar Ġcumulative : ĠC umulative Ġby Ġspec ( C umulative ) ĊĊĠĠĠ Ġpublic Ġvar Ġx bins : ĠB ins Ġby Ġspec ( Bins ) ĊĊĠĠĠ Ġpublic Ġvar Ġy bins : ĠB ins Ġby Ġspec ( Bins ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecifies Ġthe Ġmaximum Ġnumber Ġof Ġdesired Ġbins . ĠThis Ġvalue Ġwill Ġbe Ġused Ġin Ġan Ġalgorithm ĊĠĠĠĠ Ġ* Ġthat Ġwill Ġdecide Ġthe Ġoptimal Ġbin Ġsize Ġsuch Ġthat Ġthe Ġhistogram Ġbest Ġvisual izes Ġthe ĊĠĠĠĠ Ġ* Ġdistribution Ġof Ġthe Ġdata . ĠIgnore d Ġif Ġ` x bins . size ` Ġis Ġprovided . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġn bins x : ĠInt Ġby Ġint GreaterThan ( 0 ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpecifies Ġthe Ġmaximum Ġnumber Ġof Ġdesired Ġbins . ĠThis Ġvalue Ġwill Ġbe Ġused Ġin Ġan Ġalgorithm ĊĠĠĠĠ Ġ* Ġthat Ġwill Ġdecide Ġthe Ġoptimal Ġbin Ġsize Ġsuch Ġthat Ġthe Ġhistogram Ġbest Ġvisual izes Ġthe ĊĠĠĠĠ Ġ* Ġdistribution Ġof Ġthe Ġdata . ĠIgnore d Ġif Ġ` y bins . size ` Ġis Ġprovided . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġn bin sy : ĠInt Ġby Ġint GreaterThan ( 0 ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġa Ġgroup Ġof Ġhistogram Ġtraces Ġwhich Ġwill Ġhave Ġcompatible Ġbin Ġsettings . ĊĠĠĠĠ Ġ* ĠNote Ġthat Ġtraces Ġon Ġthe Ġsame Ġsub plot Ġand Ġwith Ġthe Ġsame Ġ" orientation " Ġunder ĊĠĠĠĠ Ġ* Ġ` bar mode ` Ġ" stack ", Ġ" relative " Ġand Ġ" group " Ġare Ġforced Ġinto Ġthe Ġsame Ġb ingroup , ĊĠĠĠĠ Ġ* ĠUsing Ġ` bing roup `, Ġtraces Ġunder Ġ` bar mode ` Ġ" overlay " Ġand Ġon Ġdifferent Ġaxes ĊĠĠĠĠ Ġ* Ġ( of Ġthe Ġsame Ġaxis Ġtype ) Ġcan Ġhave Ġcompatible Ġbin Ġsettings . ĠNote Ġthat Ġhistogram ĊĠĠĠĠ Ġ* Ġand Ġhistogram 2 d " Ġtrace Ġcan Ġshare Ġthe Ġsame Ġ` bing roup `. ĊĠĠĠĠ Ġ* ĠDefault : Ġ"". ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġb ingroup : ĠString ? Ġby Ġstring () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġa Ġgroup Ġof Ġhistogram Ġtraces Ġwhich Ġwill Ġhave Ġcompatible Ġx - bin Ġsettings . ĊĠĠĠĠ Ġ* ĠUsing Ġ` xb ingroup `, Ġhistogram 2 d Ġand Ġhistogram 2 d contour Ġtraces Ġ( on Ġaxes Ġof Ġthe Ġsame Ġaxis Ġtype ) ĊĠĠĠĠ Ġ* Ġcan Ġhave Ġcompatible Ġx - bin Ġsettings . ĠNote Ġthat Ġthe Ġsame Ġ` xb ingroup ` Ġvalue ĊĠĠĠĠ Ġ* Ġcan Ġbe Ġused Ġto Ġset Ġ( 1 D ) Ġhistogram Ġ` bing roup ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġx bing roup : ĠString ? Ġby Ġstring () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġa Ġgroup Ġof Ġhistogram Ġtraces Ġwhich Ġwill Ġhave Ġcompatible Ġx - bin Ġsettings . ĊĠĠĠĠ Ġ* ĠUsing Ġ` y bing roup `, Ġhistogram 2 d Ġand Ġhistogram 2 d contour Ġtraces Ġ( on Ġaxes Ġof Ġthe Ġsame Ġaxis Ġtype ) ĊĠĠĠĠ Ġ* Ġcan Ġhave Ġcompatible Ġx - bin Ġsettings . ĠNote Ġthat Ġthe Ġsame Ġ` y bing roup ` Ġvalue ĊĠĠĠĠ Ġ* Ġcan Ġbe Ġused Ġto Ġset Ġ( 1 D ) Ġhistogram Ġ` bing roup ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġy bing roup : ĠString ? Ġby Ġstring () ĊĊĠĠĠ Ġpublic Ġfun Ġcumulative ( block : ĠC umulative . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcumulative Ġ= ĠC umulative ( block ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġx bins ( block : ĠB ins . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġx bins Ġ= ĠB ins ( block ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġy bins ( block : ĠB ins . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġy bins Ġ= ĠB ins ( block ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ: ĠScheme Spec < Histogram >( :: Histogram ) Ċ } Ċ Ċ public Ġclass ĠHistogram 2 D Ġ: ĠHistogram (), ĠTable 2 D Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtype Ġ= ĠTrace Type . histogram 2 d ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġhorizontal Ġgap Ġ( in Ġpixels ) Ġbetween Ġbr icks . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġx gap : ĠNumber Ġby Ġnumber GreaterThan ( 0 ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġvertical Ġgap Ġ( in Ġpixels ) Ġbetween Ġbr icks . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġy gap : ĠNumber Ġby Ġnumber GreaterThan ( 0 ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠP icks Ġa Ġsmoothing Ġalgorithm Ġuse Ġto Ġsmooth Ġ` z ` Ġdata . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġz smooth : ĠZ smooth Type Ġby Ġenum ( Z smooth Type . best ) ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ: ĠScheme Spec < Histogram 2 D >( :: Histogram 2 D ) Ċ } Ċ Ċ public Ġclass ĠHistogram 2 D Contour Ġ: ĠHistogram (), ĠCont our Spec Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtype Ġ= ĠTrace Type . histogram 2 d contour ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġmaximum Ġnumber Ġof Ġcontour Ġlevels . ĠThe Ġactual Ġnumber Ġof Ġcont ours ĊĠĠĠĠ Ġ* Ġwill Ġbe Ġchosen Ġautomatically Ġto Ġbe Ġless Ġthan Ġor Ġequal Ġto Ġthe Ġvalue Ġof Ġ` n cont ours `. ĊĠĠĠĠ Ġ* ĠHas Ġan Ġeffect Ġonly Ġif Ġ` autoc ont our ` Ġis Ġ" true " Ġor Ġif Ġ` cont ours . size ` Ġis Ġmissing . ĊĠĠĠĠ Ġ* ĠDefault : Ġ 1 5 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġn cont ours : ĠInt Ġby Ġint GreaterThan ( 1 ) ĊĊĠĠĠ Ġoverride Ġvar Ġcont ours : ĠCont ours Ġby Ġspec ( Cont ours ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDetermines Ġwhether Ġor Ġnot Ġthe Ġcontour Ġlevel Ġattributes Ġare Ġpicked Ġby Ġan Ġalgorithm . ĊĠĠĠĠ Ġ* ĠIf Ġ" true " Ġ( default ), Ġthe Ġnumber Ġof Ġcontour Ġlevels Ġcan Ġbe Ġset Ġin Ġ` n cont ours `. ĊĠĠĠĠ Ġ* ĠIf Ġ" false ", Ġset Ġthe Ġcontour Ġlevel Ġattributes Ġin Ġ` cont ours `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar Ġautoc ont our : ĠBoolean ? Ġby Ġboolean () ĊĊĠĠĠ Ġpublic Ġfun Ġcont ours ( block : ĠCont ours . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcont ours Ġ= ĠCont ours ( block ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ: ĠScheme Spec < Histogram 2 D Contour >( :: Histogram 2 D Contour ) Ċ }