| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874 |
- /*!*
- *
- * Copyright (c) Highsoft AS. All rights reserved.
- *
- *!*/
- import * as globals from "./globals";
- /**
- * Formatter callback for the accessibility announcement.
- *
- * @param updatedSeries
- * Array of all series that received updates. If an announcement is
- * already queued, the series that received updates for that announcement
- * are also included in this array.
- *
- * @param addedSeries
- * This is provided if Highcharts.Chart#addSeries was called, and there
- * is a new series. In that case, this argument is a reference to the new
- * series.
- *
- * @param addedPoint
- * This is provided if Highcharts.Series#addPoint was called, and there
- * is a new point. In that case, this argument is a reference to the new
- * point.
- *
- * @return The function should return a string with the text to announce to the
- * user. Return empty string to not announce anything. Return `false` to
- * use the default announcement format.
- */
- export type AccessibilityAnnouncementFormatter = (updatedSeries: Array<Series>, addedSeries?: Series, addedPoint?: Point) => (false|string);
- /**
- * The horizontal alignment of an element.
- */
- export type AlignValue = ("center"|"left"|"right");
- /**
- * Creates a frame for the animated SVG element.
- *
- * @param this
- * The SVG element to animate.
- */
- export type AnimationStepCallbackFunction = (this: SVGElement) => void;
- /**
- * Callback to modify annotation's possitioner controls.
- */
- export type AnnotationControlPointPositionerFunction = (this: AnnotationControlPoint, target: AnnotationControllable) => PositionObject;
- /**
- * Possible directions for draggable annotations. An empty string (`''`) makes
- * the annotation undraggable.
- */
- export type AnnotationDraggableValue = (''|'x'|'xy'|'y');
- export type AxisEventCallbackFunction = (this: Axis) => void;
- export type AxisExtremesTriggerValue = ("navigator"|"pan"|"scrollbar"|"zoom"|"rangeSelectorButton"|"rangeSelectorInput"|"traverseUpButton");
- export type AxisLabelsFormatterCallbackFunction = (this: AxisLabelsFormatterContextObject<number>, that: AxisLabelsFormatterContextObject<string>) => string;
- /**
- * Options for axes.
- */
- export type AxisOptions = (XAxisOptions|YAxisOptions|ZAxisOptions);
- /**
- * Options for plot band labels on axes.
- */
- export type AxisPlotBandsLabelOptions = (XAxisPlotBandsLabelOptions|YAxisPlotBandsLabelOptions|ZAxisPlotBandsLabelOptions);
- /**
- * Options for plot bands on axes.
- */
- export type AxisPlotBandsOptions = (XAxisPlotBandsOptions|YAxisPlotBandsOptions|ZAxisPlotBandsOptions);
- /**
- * Options for plot line labels on axes.
- */
- export type AxisPlotLinesLabelOptions = (XAxisPlotLinesLabelOptions|YAxisPlotLinesLabelOptions|ZAxisPlotLinesLabelOptions);
- /**
- * Options for plot lines on axes.
- */
- export type AxisPlotLinesOptions = (XAxisPlotLinesOptions|YAxisPlotLinesOptions|ZAxisPlotLinesOptions);
- export type AxisPointBreakEventCallbackFunction = (this: Axis, evt: AxisPointBreakEventObject) => void;
- export type AxisSetExtremesEventCallbackFunction = (this: Axis, evt: AxisSetExtremesEventObject) => void;
- export type AxisTickPositionerCallbackFunction = (this: Axis) => AxisTickPositionsArray;
- export type AxisTitleAlignValue = ("high"|"low"|"middle");
- export type AxisTitleOptions = (XAxisTitleOptions|YAxisTitleOptions|ZAxisTitleOptions);
- export type AxisTypeValue = ("category"|"datetime"|"linear"|"logarithmic"|"treegrid");
- export type BubbleSizeByValue = ("area"|"width");
- export type ButtonRelativeToValue = ("plotBox"|"spacingBox");
- /**
- * Gets fired when a series is added to the chart after load time, using the
- * `addSeries` method. Returning `false` prevents the series from being added.
- *
- * @param this
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ChartAddSeriesCallbackFunction = (this: Chart, event: ChartAddSeriesEventObject) => void;
- /**
- * Callback for chart constructors.
- *
- * @param chart
- * Created chart.
- */
- export type ChartCallbackFunction = (chart: Chart) => void;
- /**
- * Gets fired when clicking on the plot background.
- *
- * @param this
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ChartClickCallbackFunction = (this: Chart, event: PointerEventObject) => void;
- /**
- * Gets fired when the chart is finished loading.
- *
- * @param this
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ChartLoadCallbackFunction = (this: Chart, event: Event) => void;
- /**
- * Fires when the chart is redrawn, either after a call to `chart.redraw()` or
- * after an axis, series or point is modified with the `redraw` option set to
- * `true`.
- *
- * @param this
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ChartRedrawCallbackFunction = (this: Chart, event: Event) => void;
- /**
- * Gets fired after initial load of the chart (directly after the `load` event),
- * and after each redraw (directly after the `redraw` event).
- *
- * @param this
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ChartRenderCallbackFunction = (this: Chart, event: Event) => void;
- /**
- * Gets fired when an area of the chart has been selected. The default action
- * for the selection event is to zoom the chart to the selected area. It can be
- * prevented by calling `event.preventDefault()` or return false.
- *
- * @param this
- * The chart on which the event occured.
- *
- * @param event
- * Event informations
- *
- * @return Return false to prevent the default action, usually zoom.
- */
- export type ChartSelectionCallbackFunction = (this: Chart, event: ChartSelectionContextObject) => (boolean|undefined);
- /**
- * A clipping rectangle that can be applied to one or more SVGElement instances.
- * It is instanciated with the SVGRenderer#clipRect function and applied with
- * the SVGElement#clip function.
- */
- export type ClipRectElement = SVGElement;
- /**
- * Color axis types
- */
- export type ColorAxisTypeValue = ("linear"|"logarithmic");
- /**
- * A valid color to be parsed and handled by Highcharts. Highcharts internally
- * supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and
- * rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the
- * browsers and displayed correctly, but Highcharts is not able to process them
- * and apply concepts like opacity and brightening.
- */
- export type ColorString = string;
- /**
- * A valid color type than can be parsed and handled by Highcharts. It can be a
- * color string, a gradient object, or a pattern object.
- */
- export type ColorType = (ColorString|GradientColorObject|PatternObject);
- /**
- * All possible cursor styles.
- */
- export type CursorValue = ('alias'|'all-scroll'|'auto'|'cell'|'col-resize'|'context-menu'|'copy'|'crosshair'|'default'|'e-resize'|'ew-resize'|'grab'|'grabbing'|'help'|'move'|'n-resize'|'ne-resize'|
- 'nesw-resize'|'no-drop'|'none'|'not-allowed'|'ns-resize'|'nw-resize'|'nwse-resize'|'pointer'|'progress'|'row-resize'|'s-resize'|'se-resize'|'sw-resize'|'text'|'vertical-text'|'w-resize'|'wait'|
- 'zoom-in'|'zoom-out');
- /**
- * All possible dash styles.
- */
- export type DashStyleValue = ('Dash'|'DashDot'|'Dot'|'LongDash'|'LongDashDot'|'LongDashDotDot'|'ShortDash'|'ShortDashDot'|'ShortDashDotDot'|'ShortDot'|'Solid');
- /**
- * Callback function to modify the CSV before parsing it by the data module.
- *
- * @param csv
- * The CSV to modify.
- *
- * @return The CSV to parse.
- */
- export type DataBeforeParseCallbackFunction = (csv: string) => string;
- /**
- * Callback function that gets called after parsing data.
- *
- * @param chartOptions
- * The chart options that were used.
- */
- export type DataCompleteCallbackFunction = (chartOptions: Options) => void;
- export type DataGroupingApproximationValue = ("average"|"averages"|"close"|"high"|"low"|"open"|"sum");
- /**
- * Callback JavaScript function to format the data label as a string. Note that
- * if a `format` is defined, the format takes precedence and the formatter is
- * ignored.
- *
- * @param this
- * Data label context to format
- *
- * @param options
- * API options of the data label
- *
- * @return Formatted data label text
- */
- export type DataLabelsFormatterCallbackFunction = (this: PointLabelObject, options: DataLabelsOptions) => (number|string|null|undefined);
- /**
- * Values for handling data labels that flow outside the plot area.
- */
- export type DataLabelsOverflowValue = ("allow"|"justify");
- /**
- * Callback function to parse string representations of dates into JavaScript
- * timestamps (milliseconds since 1.1.1970).
- *
- * @return Timestamp (milliseconds since 1.1.1970) as integer for Date class.
- */
- export type DataParseDateCallbackFunction = (dateValue: string) => number;
- /**
- * Callback function to access the parsed columns, the two-dimentional input
- * data array directly, before they are interpreted into series data and
- * categories.
- *
- * @param columns
- * The parsed columns by the data module.
- *
- * @return Return `false` to stop completion, or call `this.complete()` to
- * continue async.
- */
- export type DataParsedCallbackFunction = (columns: Array<Array<any>>) => (boolean|undefined);
- /**
- * Possible types for a data item in a column or row.
- */
- export type DataValueType = (number|string|null);
- /**
- * Gets fired when a drilldown point is clicked, before the new series is added.
- * Note that when clicking a category label to trigger multiple series
- * drilldown, one `drilldown` event is triggered per point in the category.
- *
- * @param this
- * The chart where the event occurs.
- *
- * @param e
- * The drilldown event.
- */
- export type DrilldownCallbackFunction = (this: Chart, e: DrilldownEventObject) => void;
- /**
- * This gets fired after all the series have been drilled up. This is especially
- * usefull in a chart with multiple drilldown series.
- *
- * @param this
- * The chart where the event occurs.
- *
- * @param e
- * The final drillup event.
- */
- export type DrillupAllCallbackFunction = (this: Chart, e: DrillupAllEventObject) => void;
- /**
- * Gets fired when drilling up from a drilldown series.
- *
- * @param this
- * The chart where the event occurs.
- *
- * @param e
- * The drillup event.
- */
- export type DrillupCallbackFunction = (this: Chart, e: DrillupEventObject) => void;
- /**
- * The function callback to execute when the event is fired. The `this` context
- * contains the instance, that fired the event.
- *
- * @param eventArguments
- * Event arguments.
- */
- export type EventCallbackFunction<T> = (this: T, eventArguments?: (Event|Dictionary<any>)) => (boolean|void);
- /**
- * Function callback to execute while data rows are processed for exporting.
- * This allows the modification of data rows before processed into the final
- * format.
- *
- * @param this
- * Chart context where the event occured.
- *
- * @param event
- * Event object with data rows that can be modified.
- */
- export type ExportDataCallbackFunction = (this: Chart, event: ExportDataEventObject) => void;
- /**
- * Gets fired after a chart is printed through the context menu item or the
- * Chart.print method.
- *
- * @param chart
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ExportingAfterPrintCallbackFunction = (chart: Chart, event: Event) => void;
- /**
- * Gets fired before a chart is printed through the context menu item or the
- * Chart.print method.
- *
- * @param chart
- * The chart on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type ExportingBeforePrintCallbackFunction = (chart: Chart, event: Event) => void;
- /**
- * Function to call if the offline-exporting module fails to export a chart on
- * the client side.
- *
- * @param options
- * The exporting options.
- *
- * @param err
- * The error from the module.
- */
- export type ExportingErrorCallbackFunction = (options: ExportingOptions, err: Error) => void;
- /**
- * Possible MIME types for exporting.
- */
- export type ExportingMimeTypeValue = ("application/pdf"|"image/jpeg"|"image/png"|"image/svg+xml");
- export type FlagsShapeValue = ("circlepin"|"flag"|"squarepin");
- /**
- * Formats data as a string. Usually the data is accessible throught the `this`
- * keyword.
- *
- * @param this
- * Context to format
- *
- * @return Formatted text
- */
- export type FormatterCallbackFunction<T> = (this: T) => string;
- /**
- * An object of key-value pairs for HTML attributes.
- */
- export type HTMLAttributes = Dictionary<(boolean|number|string|Function)>;
- /**
- * An HTML DOM element. The type is a reference to the regular HTMLElement in
- * the global scope.
- */
- export type HTMLDOMElement = HTMLElement;
- /**
- * Function callback when a cluster is clicked.
- *
- * @param this
- * The point where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type MarkerClusterDrillCallbackFunction = (this: Point, event: PointClickEventObject) => void;
- /**
- * Format a number and return a string based on input settings.
- *
- * @param number
- * The input number to format.
- *
- * @param decimals
- * The amount of decimals. A value of -1 preserves the amount in the
- * input number.
- *
- * @param decimalPoint
- * The decimal point, defaults to the one given in the lang options, or a
- * dot.
- *
- * @param thousandsSep
- * The thousands separator, defaults to the one given in the lang
- * options, or a space character.
- *
- * @return The formatted number.
- */
- export type NumberFormatterCallbackFunction = (number: number, decimals: number, decimalPoint?: string, thousandsSep?: string) => string;
- /**
- * The iterator callback.
- *
- * @param this
- * The context.
- *
- * @param value
- * The property value.
- *
- * @param key
- * The property key.
- *
- * @param obj
- * The object that objectEach is being applied to.
- */
- export type ObjectEachCallbackFunction<T> = (this: T, value: any, key: string, obj: any) => void;
- export type OptionsApproximationValue = ("barnes-hut"|"none");
- export type OptionsBoostBlendingValue = ("add"|"darken"|"multiply");
- export type OptionsDataClassColorValue = ("category"|"tween");
- export type OptionsDateFormatValue = ("dd/mm/YY"|"dd/mm/YYYY"|"mm/dd/YY"|"mm/dd/YYYY"|"YYYY/mm/dd");
- export type OptionsFindNearestPointByValue = ("x"|"xy");
- export type OptionsGapUnitValue = ("relative"|"value");
- export type OptionsGridLineInterpolationValue = ("circle"|"polygon");
- export type OptionsHeaderShapeValue = ("callout"|"square");
- export type OptionsIntegrationValue = ("euler"|"verlet");
- export type OptionsLandmarkVerbosityValue = ("all"|"disabled"|"one");
- export type OptionsLayoutAlgorithmValue = ("squarified"|"strip"|"stripes"|"sliceAndDice");
- export type OptionsLayoutStartingDirectionValue = ("horizontal"|"vertical");
- export type OptionsLayoutValue = ("horizontal"|"proximate"|"vertical");
- export type OptionsLinecapValue = ("round"|"square");
- export type OptionsMarkerEndValue = ("arrow"|"none");
- export type OptionsMinorTickPositionValue = ("inside"|"outside");
- export type OptionsModeValue = ("normal"|"serialize");
- export type OptionsOnKeyValue = ("close"|"high"|"low"|"open"|"y");
- export type OptionsOperatorValue = ("=="|"==="|">"|">="|"<"|"<=");
- export type OptionsOverflowValue = ("allow"|"justify");
- export type OptionsPanKeyValue = ("alt"|"ctrl"|"meta"|"shift");
- export type OptionsPinchTypeValue = ("x"|"xy"|"y");
- export type OptionsPointIntervalUnitValue = ("day"|"month"|"year");
- export type OptionsPointValKeyValue = ("close"|"high"|"low"|"open");
- export type OptionsPosition3dValue = ("chart"|"flap"|"offset"|"ortho");
- export type OptionsRotationModeValue = ("auto"|"circular"|"parallel"|"perpendicular");
- export type OptionsRotationOriginValue = ("center"|"end"|"start");
- export type OptionsStackingValue = ("normal"|"overlap"|"percent"|"stream");
- export type OptionsStepValue = ("center"|"left"|"right");
- export type OptionsTextAlignValue = ("center"|"left"|"right");
- export type OptionsTickmarkPlacementValue = ("between"|"on");
- export type OptionsTickPositionValue = ("inside"|"outside");
- export type OptionsTypeValue = ("x"|"xy"|"y");
- export type OptionsUnitValue = ("percentage"|"pixels"|"weight");
- export type OptionsZoomKeyValue = ("alt"|"ctrl"|"meta"|"shift");
- export type OptionsZoomTypeValue = ("x"|"xy"|"y");
- export type PaneBackgroundShapeValue = ("arc"|"circle"|"solid");
- /**
- * The default pathfinder algorithm to use for a chart. It is possible to define
- * your own algorithms by adding them to the
- * `Highcharts.Pathfinder.prototype.algorithms` object before the chart has been
- * created.
- *
- * The default algorithms are as follows:
- *
- * `straight`: Draws a straight line between the connecting points. Does not
- * avoid other points when drawing.
- *
- * `simpleConnect`: Finds a path between the points using right angles only.
- * Takes only starting/ending points into account, and will not avoid other
- * points.
- *
- * `fastAvoid`: Finds a path between the points using right angles only. Will
- * attempt to avoid other points, but its focus is performance over accuracy.
- * Works well with less dense datasets.
- */
- export type PathfinderTypeValue = ("straight"|"fastAvoid"|"simpleConnect"|string);
- /**
- * Function callback when a series point is clicked. Return false to cancel the
- * action.
- *
- * @param this
- * The point where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type PointClickCallbackFunction = (this: Point, event: PointClickEventObject) => void;
- /**
- * Function callback to execute while series points are dragged. Return false to
- * stop the default drag action.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type PointDragCallbackFunction = (this: Point, event: PointDragEventObject) => void;
- /**
- * Function callback to execute when a series point is dragged.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type PointDragStartCallbackFunction = (this: Point, event: PointDragStartEventObject) => void;
- /**
- * Function callback to execute when series points are dropped.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type PointDropCallbackFunction = (this: Point, event: PointDropEventObject) => void;
- /**
- * Gets fired when the legend item belonging to a point is clicked. The default
- * action is to toggle the visibility of the point. This can be prevented by
- * returning `false` or calling `event.preventDefault()`.
- *
- * @param this
- * The point on which the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type PointLegendItemClickCallbackFunction = (this: Point, event: PointLegendItemClickEventObject) => void;
- /**
- * Gets fired when the mouse leaves the area close to the point.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type PointMouseOutCallbackFunction = (this: Point, event: PointerEvent) => void;
- /**
- * Gets fired when the mouse enters the area close to the point.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type PointMouseOverCallbackFunction = (this: Point, event: Event) => void;
- /**
- * Possible option types for a data point.
- */
- export type PointOptionsType = (number|string|PointOptionsObject|Array<(number|string)>|null);
- /**
- * Gets fired when the point is removed using the `.remove()` method.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type PointRemoveCallbackFunction = (this: Point, event: Event) => void;
- /**
- * Gets fired when the point is selected either programmatically or following a
- * click on the point.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type PointSelectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
- /**
- * Possible key values for the point state options.
- */
- export type PointStateValue = ("hover"|"inactive"|"normal"|"select");
- /**
- * Fires when the point is unselected either programmatically or following a
- * click on the point.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type PointUnselectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
- /**
- * Gets fired when the point is updated programmatically through the `.update()`
- * method.
- *
- * @param this
- * Point where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type PointUpdateCallbackFunction = (this: Point, event: PointUpdateEventObject) => void;
- /**
- * Define the time span for the button
- */
- export type RangeSelectorButtonTypeValue = ("all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd");
- /**
- * Callback function to react on button clicks.
- *
- * @param e
- * Event arguments.
- *
- * @param Return
- * false to cancel the default button event.
- */
- export type RangeSelectorClickCallbackFunction = (e: Event, Return: (boolean|undefined)) => void;
- /**
- * Callback function to parse values entered in the input boxes and return a
- * valid JavaScript time as milliseconds since 1970.
- *
- * @param value
- * Input value to parse.
- *
- * @return Parsed JavaScript time value.
- */
- export type RangeSelectorParseCallbackFunction = (value: string) => number;
- /**
- * If a number is given, it defines the pixel length. If a percentage string is
- * given, like for example `'50%'`, the setting defines a length relative to a
- * base size, for example the size of a container.
- */
- export type RelativeSize = (number|string);
- /**
- * A callback function to gain complete control on when the responsive rule
- * applies.
- *
- * @param this
- * Chart context.
- *
- * @return Return `true` if it applies.
- */
- export type ResponsiveCallbackFunction = (this: Chart) => boolean;
- /**
- * @param evt
- * Mouse click event
- */
- export type ScreenReaderClickCallbackFunction = (evt: MouseEvent) => void;
- /**
- * Creates a formatted string for the screen reader module.
- *
- * @param context
- * Context to format
- *
- * @return Formatted string for the screen reader module.
- */
- export type ScreenReaderFormatterCallbackFunction<T> = (context: T) => string;
- /**
- * Function callback when a series has been animated.
- *
- * @param this
- * The series where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type SeriesAfterAnimateCallbackFunction = (this: Series, event: SeriesAfterAnimateEventObject) => void;
- /**
- * Function callback when the checkbox next to the series' name in the legend is
- * clicked.
- *
- * @param this
- * The series where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type SeriesCheckboxClickCallbackFunction = (this: Series, event: SeriesCheckboxClickEventObject) => void;
- /**
- * Function callback when a series is clicked. Return false to cancel toogle
- * actions.
- *
- * @param this
- * The series where the event occured.
- *
- * @param event
- * Event arguments.
- */
- export type SeriesClickCallbackFunction = (this: Series, event: SeriesClickEventObject) => void;
- /**
- * Gets fired when the series is hidden after chart generation time, either by
- * clicking the legend item or by calling `.hide()`.
- *
- * @param this
- * The series where the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type SeriesHideCallbackFunction = (this: Series, event: Event) => void;
- /**
- * Gets fired when the legend item belonging to a series is clicked. The default
- * action is to toggle the visibility of the series. This can be prevented by
- * returning `false` or calling `event.preventDefault()`.
- *
- * @param this
- * The series where the event occured.
- *
- * @param event
- * The event that occured.
- */
- export type SeriesLegendItemClickCallbackFunction = (this: Series, event: SeriesLegendItemClickEventObject) => void;
- /**
- * The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line
- * graph.
- */
- export type SeriesLinecapValue = ("butt"|"round"|"square"|string);
- /**
- * Gets fired when the mouse leaves the graph.
- *
- * @param this
- * Series where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type SeriesMouseOutCallbackFunction = (this: Series, event: PointerEvent) => void;
- /**
- * Gets fired when the mouse enters the graph.
- *
- * @param this
- * Series where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type SeriesMouseOverCallbackFunction = (this: Series, event: PointerEvent) => void;
- /**
- * Formatter callback function.
- *
- * @param this
- * Data label context to format
- *
- * @return Formatted data label text
- */
- export type SeriesNetworkgraphDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesNetworkgraphDataLabelsFormatterContextObject)) => string;
- /**
- * The possible types of series options.
- */
- export type SeriesOptionsType = SeriesOptionsRegistry[keyof SeriesOptionsRegistry];
- /**
- * Layout value for the child nodes in an organization chart. If `hanging`, this
- * node's children will hang below their parent, allowing a tighter packing of
- * nodes in the diagram.
- */
- export type SeriesOrganizationNodesLayoutValue = ("hanging"|"normal");
- /**
- * Formatter callback function.
- *
- * @param this
- * Data label context to format
- *
- * @return Formatted data label text
- */
- export type SeriesPackedBubbleDataLabelsFormatterCallbackFunction = (this: SeriesPackedBubbleDataLabelsFormatterContextObject) => string;
- /**
- * Formatter callback function.
- *
- * @param this
- * Data label context to format
- *
- * @return Formatted data label text
- */
- export type SeriesSankeyDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesSankeyDataLabelsFormatterContextObject)) => (string|undefined);
- /**
- * Gets fired when the series is shown after chart generation time, either by
- * clicking the legend item or by calling `.show()`.
- *
- * @param this
- * Series where the event occured.
- *
- * @param event
- * Event that occured.
- */
- export type SeriesShowCallbackFunction = (this: Series, event: Event) => void;
- /**
- * Possible key values for the series state options.
- */
- export type SeriesStateValue = ("hover"|"inactive"|"normal"|"select");
- /**
- * An SVG DOM element. The type is a reference to the regular SVGElement in the
- * global scope.
- */
- export type SVGDOMElement = globals.GlobalSVGElement;
- /**
- * Array of path commands, that will go into the `d` attribute of an SVG
- * element.
- */
- export type SVGPathArray = Array<(Array<SVGPathCommand>|[SVGPathCommand, number]|[SVGPathCommand, number, number]|[SVGPathCommand, number, number, number, number]|[SVGPathCommand, number, number,
- number, number, number, number]|[SVGPathCommand, number, number, number, number, number, number, number])>;
- /**
- * Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`,
- * `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.
- */
- export type SVGPathCommand = ("a"|"c"|"h"|"l"|"m"|"q"|"s"|"t"|"v"|"z"|"A"|"C"|"H"|"L"|"M"|"Q"|"S"|"T"|"V"|"Z");
- /**
- * Can be one of `arc`, `callout`, `circle`, `diamond`, `square`, `triangle`,
- * and `triangle-down`. Symbols are used internally for point markers, button
- * and label borders and backgrounds, or custom shapes. Extendable by adding to
- * SVGRenderer#symbols.
- */
- export type SymbolKeyValue = ("arc"|"callout"|"circle"|"diamond"|"square"|"triangle"|"triangle-down");
- export type TilemapShapeValue = ("circle"|"diamond"|"hexagon"|"square");
- /**
- * Function of an additional date format specifier.
- *
- * @param timestamp
- * The time to format.
- *
- * @return The formatted portion of the date.
- */
- export type TimeFormatCallbackFunction = (timestamp: number) => string;
- /**
- * Callback JavaScript function to format the data label as a string. Note that
- * if a `format` is defined, the format takes precedence and the formatter is
- * ignored.
- *
- * @param this
- * Data label context to format
- *
- * @return Formatted data label text
- */
- export type TimelineDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|TimelineDataLabelsFormatterContextObject)) => (number|string|null|undefined);
- /**
- * Time units used in `Time.get` and `Time.set`
- */
- export type TimeUnitValue = ("Date"|"Day"|"FullYear"|"Hours"|"Milliseconds"|"Minutes"|"Month"|"Seconds");
- /**
- * A callback to return the time zone offset for a given datetime. It takes the
- * timestamp in terms of milliseconds since January 1 1970, and returns the
- * timezone offset in minutes. This provides a hook for drawing time based
- * charts in specific time zones using their local DST crossover dates, with the
- * help of external libraries.
- *
- * @param timestamp
- * Timestamp in terms of milliseconds since January 1 1970.
- *
- * @return Timezone offset in minutes.
- */
- export type TimezoneOffsetCallbackFunction = (timestamp: number) => number;
- /**
- * Callback function to format the text of the tooltip from scratch.
- *
- * In case of single or shared tooltips, a string should be be returned. In case
- * of splitted tooltips, it should return an array where the first item is the
- * header, and subsequent items are mapped to the points. Return `false` to
- * disable tooltip for a specific point on series.
- *
- * @param this
- * Context to format
- *
- * @param tooltip
- * The tooltip instance
- *
- * @return Formatted text or false
- */
- export type TooltipFormatterCallbackFunction = (this: TooltipFormatterContextObject, tooltip: Tooltip) => (false|string|Array<(string|null|undefined)>|null|undefined);
- /**
- * A callback function to place the tooltip in a specific position.
- *
- * @param this
- * Tooltip context of the callback.
- *
- * @param labelWidth
- * Width of the tooltip.
- *
- * @param labelHeight
- * Height of the tooltip.
- *
- * @param point
- * Point information for positioning a tooltip.
- *
- * @return New position for the tooltip.
- */
- export type TooltipPositionerCallbackFunction = (this: Tooltip, labelWidth: number, labelHeight: number, point: (Point|TooltipPositionerPointObject)) => PositionObject;
- export type TooltipShapeValue = ("callout"|"circle"|"square");
- export type VariablePieSizeByValue = ("area"|"radius");
- /**
- * The vertical alignment of an element.
- */
- export type VerticalAlignValue = ("bottom"|"middle"|"top");
- /**
- * Proceed function to call original (wrapped) function.
- *
- * @param arg1
- * Optional argument. Without any arguments defaults to first argument of
- * the wrapping function.
- *
- * @param arg2
- * Optional argument. Without any arguments defaults to second argument
- * of the wrapping function.
- *
- * @param arg3
- * Optional argument. Without any arguments defaults to third argument of
- * the wrapping function.
- *
- * @return Return value of the original function.
- */
- export type WrapProceedFunction = (arg1?: any, arg2?: any, arg3?: any) => any;
- /**
- * Formatter function for the text of a crosshair label.
- *
- * @param this
- * Axis context
- *
- * @param value
- * Y value of the data point
- */
- export type XAxisCrosshairLabelFormatterCallbackFunction = (this: Axis, value: number) => string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data to
- * screen reader users. Useful for dynamic data applications and drilldown.
- *
- * Keep in mind that frequent announcements will not be useful to users, as they
- * won't have time to explore the new data. For these applications, consider
- * making snapshots of the data accessible, and do the announcements in batches.
- */
- export interface AccessibilityAnnounceNewDataOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Optional formatter callback for
- * the announcement. Receives up to three arguments. The first argument is
- * always an array of all series that received updates. If an announcement
- * is already queued, the series that received updates for that announcement
- * are also included in this array. The second argument is provided if
- * `chart.addSeries` was called, and there is a new series. In that case,
- * this argument is a reference to the new series. The third argument,
- * similarly, is provided if `series.addPoint` was called, and there is a
- * new point. In that case, this argument is a reference to the new point.
- *
- * The function should return a string with the text to announce to the
- * user. Return empty string to not announce anything. Return `false` to use
- * the default announcement format.
- */
- announcementFormatter?: AccessibilityAnnouncementFormatter;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable announcing new data to
- * screen reader users
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Choose whether or not the
- * announcements should interrupt the screen reader. If not enabled, the
- * user will be notified once idle. It is recommended not to enable this
- * setting unless there is a specific reason to do so.
- */
- interruptUser?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Minimum interval between
- * announcements in milliseconds. If new data arrives before this amount of
- * time has passed, it is queued for announcement. If another new data event
- * happens while an announcement is queued, the queued announcement is
- * dropped, and the latest announcement is queued instead. Set to 0 to allow
- * all announcements, but be warned that frequent announcements are
- * disturbing to users.
- */
- minAnnounceInterval?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
- * accessibility for the chart. Requires the accessibility module to be loaded.
- * For a description of the module and information on its features, see
- * Highcharts Accessibility.
- */
- export interface AccessibilityOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data
- * to screen reader users. Useful for dynamic data applications and
- * drilldown.
- *
- * Keep in mind that frequent announcements will not be useful to users, as
- * they won't have time to explore the new data. For these applications,
- * consider making snapshots of the data accessible, and do the
- * announcements in batches.
- */
- announceNewData?: AccessibilityAnnounceNewDataOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A hook for adding custom
- * components to the accessibility module. Should be an object mapping
- * component names to instances of classes inheriting from the
- * Highcharts.AccessibilityComponent base class. Remember to add the
- * component to the keyboardNavigation.order for the keyboard navigation to
- * be usable.
- */
- customComponents?: any;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart.
- *
- * **Note: Prefer using linkedDescription or caption instead.**
- *
- * If the Accessibility module is loaded, this option is included by default
- * as a long description of the chart in the hidden screen reader
- * information region.
- *
- * Note: Since Highcharts now supports captions and linked descriptions, it
- * is preferred to define the description using those methods, as a visible
- * caption/description benefits all users. If the
- * `accessibility.description` option is defined, the linked description is
- * ignored, and the caption is hidden from screen reader users.
- */
- description?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility
- * functionality for the chart.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Theme to apply to the chart when
- * Windows High Contrast Mode is detected. By default, a high contrast theme
- * matching the high contrast system system colors is used.
- */
- highContrastTheme?: any;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
- */
- keyboardNavigation?: KeyboardNavigationOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Amount of landmarks/regions to
- * create for screen reader users. More landmarks can make navigation with
- * screen readers easier, but can be distracting if there are lots of charts
- * on the page. Three modes are available:
- *
- * - `all`: Adds regions for all series, legend, menu, information region.
- *
- * - `one`: Adds a single landmark per chart.
- *
- * - `disabled`: No landmarks are added.
- */
- landmarkVerbosity?: OptionsLandmarkVerbosityValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Link the chart to an HTML
- * element describing the contents of the chart.
- *
- * It is always recommended to describe charts using visible text, to
- * improve SEO as well as accessibility for users with disabilities. This
- * option lets an HTML element with a description be linked to the chart, so
- * that screen reader users can connect the two.
- *
- * By setting this option to a string, Highcharts runs the string as an HTML
- * selector query on the entire document. If there is only a single match,
- * this element is linked to the chart. The content of the linked element
- * will be included in the chart description for screen reader users.
- *
- * By default, the chart looks for an adjacent sibling element with the
- * `highcharts-description` class.
- *
- * The feature can be disabled by setting the option to an empty string, or
- * overridden by providing the accessibility.description option.
- * Alternatively, the HTML element to link can be passed in directly as an
- * HTML node.
- *
- * If you need the description to be part of the exported image, consider
- * using the caption feature.
- *
- * If you need the description to be hidden visually, use the
- * accessibility.description option.
- */
- linkedDescription?: (string|HTMLDOMElement);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
- * individual data points.
- */
- point?: AccessibilityPointOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
- * screen reader information sections added before and after the chart.
- */
- screenReaderSection?: AccessibilityScreenReaderSectionOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to
- * all data series. Individual series can also have specific accessibility
- * options set.
- */
- series?: AccessibilitySeriesOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart
- * type.
- *
- * If the Accessibility module is loaded, this will be included in the
- * description of the chart in the screen reader information region.
- *
- * Highcharts will by default attempt to guess the chart type, but for more
- * complex charts it is recommended to specify this property for clarity.
- */
- typeDescription?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
- * individual data points.
- */
- export interface AccessibilityPointOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Date format to use for points on
- * datetime axes when describing them to screen reader users.
- *
- * Defaults to the same format as in tooltip.
- *
- * For an overview of the replacement codes, see dateFormat.
- */
- dateFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to determine
- * the date/time format used with points on datetime axes when describing
- * them to screen reader users. Receives one argument, `point`, referring to
- * the point to describe. Should return a date format string compatible with
- * dateFormat.
- */
- dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
- * instead of the default for point descriptions.
- *
- * Receives one argument, `point`, referring to the point to describe.
- * Should return a string with the description of the point for a screen
- * reader user. If `false` is returned, the default formatter will be used
- * for that point.
- *
- * Note: Prefer using accessibility.point.valueDescriptionFormat instead if
- * possible, as default functionality such as describing annotations will be
- * preserved.
- */
- descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Decimals to use for the values
- * in the point descriptions. Uses tooltip.valueDecimals if not defined.
- */
- valueDecimals?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format to use for describing the
- * values of data points to assistive technology - including screen readers.
- * The point context is available as `{point}`.
- *
- * Additionally, the series name, annotation info, and description added in
- * `point.accessibility.description` is added by default if relevant. To
- * override this, use the accessibility.point.descriptionFormatter option.
- */
- valueDescriptionFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Prefix to add to the values in
- * the point descriptions. Uses tooltip.valuePrefix if not defined.
- */
- valuePrefix?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Suffix to add to the values in
- * the point descriptions. Uses tooltip.valueSuffix if not defined.
- */
- valueSuffix?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the screen
- * reader information sections added before and after the chart.
- */
- export interface AccessibilityScreenReaderSectionOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
- * information region after the chart. Analogous to beforeChartFormat.
- */
- afterChartFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
- * the HTML contents of the hidden screen reader information region after
- * the chart. Analogous to beforeChartFormatter.
- */
- afterChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Date format to use to describe
- * range of datetime axes.
- *
- * For an overview of the replacement codes, see dateFormat.
- */
- axisRangeDateFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
- * information region before the chart. Supported HTML tags are `<h1-7>`,
- * `<p>`, `<div>`, `<a>`, `<ul>`, `<ol>`, `<li>`, and `<button>`. Attributes
- * are not supported, except for id on `<div>`, `<a>`, and `<button>`. Id is
- * required on `<a>` and `<button>` in the format `<tag id="abcd">`.
- * Numbers, lower- and uppercase letters, "-" and "#" are valid characters
- * in IDs.
- */
- beforeChartFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
- * the HTML contents of the hidden screen reader information region before
- * the chart. Receives one argument, `chart`, referring to the chart object.
- * Should return a string with the HTML content of the region. By default
- * this returns an automatic description of the chart based on
- * beforeChartFormat.
- */
- beforeChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
- * the "Play as sound" button in the screen reader region.
- *
- * By default Highcharts will call the `chart.sonify` function.
- */
- onPlayAsSoundClick?: ScreenReaderClickCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
- * the "View as Data Table" link in the screen reader region.
- *
- * By default Highcharts will insert and set focus to a data table
- * representation of the chart.
- */
- onViewDataTableClick?: ScreenReaderClickCallbackFunction;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to all
- * data series. Individual series can also have specific accessibility options
- * set.
- */
- export interface AccessibilitySeriesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to add series
- * descriptions to charts with a single series.
- */
- describeSingleSeries?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
- * instead of the default for series descriptions. Receives one argument,
- * `series`, referring to the series to describe. Should return a string
- * with the description of the series for a screen reader user. If `false`
- * is returned, the default formatter will be used for that series.
- */
- descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Series>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
- * points than this, we no longer expose information about individual points
- * to screen readers.
- *
- * Set to `false` to disable.
- */
- pointDescriptionEnabledThreshold?: (boolean|number);
- }
- /**
- * Options to align the element relative to the chart or another box.
- */
- export interface AlignObject {
- /**
- * Horizontal alignment. Can be one of `left`, `center` and `right`.
- */
- align?: AlignValue;
- /**
- * Use the `transform` attribute with translateX and translateY custom
- * attributes to align this elements rather than `x` and `y` attributes.
- */
- alignByTranslate?: boolean;
- /**
- * Vertical alignment. Can be one of `top`, `middle` and `bottom`.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * Horizontal pixel offset from alignment.
- */
- x?: number;
- /**
- * Vertical pixel offset from alignment.
- */
- y?: number;
- }
- /**
- * An animation configuration. Animation configurations can also be defined as
- * booleans, where `false` turns off animation and `true` defaults to a duration
- * of 500ms and defer of 0ms.
- */
- export interface AnimationOptionsObject {
- /**
- * A callback function to exectute when the animation finishes.
- */
- complete?: Function;
- /**
- * The animation defer in milliseconds.
- */
- defer?: number;
- /**
- * The animation duration in milliseconds.
- */
- duration?: number;
- /**
- * The name of an easing function as defined on the `Math` object.
- */
- easing?: (string|Function);
- /**
- * A callback function to execute on each step of each attribute or CSS
- * property that's being animated. The first argument contains information
- * about the animation and progress.
- */
- step?: Function;
- }
- export interface AnnotationControllable {
- annotation: Annotation;
- chart: Chart;
- collection: string;
- points: Array<Point>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
- * points. Each control point inherits options from controlPointOptions object.
- * Options from the controlPointOptions can be overwritten by options in a
- * specific control point.
- */
- export interface AnnotationControlPointOptionsObject {
- height?: number;
- positioner?: AnnotationControlPointPositionerFunction;
- style?: (AnnotationsControlPointStyleOptions|NavigationAnnotationsControlPointStyleOptions);
- symbol?: string;
- visible?: boolean;
- width?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * annotation label.
- */
- export interface AnnotationLabelAccessibilityOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Description of an annotation
- * label for screen readers and other assistive technology.
- */
- description?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the shape.
- * This option is available for shapes which can use multiple points such as
- * path. A point can be either a point object or a point's id.
- */
- export interface AnnotationMockPointOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position of the point.
- * Units can be either in axis or chart pixel coordinates.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This number defines which xAxis
- * the point is connected to. It refers to either the axis id or the index
- * of the axis in the xAxis array. If the option is not configured or the
- * axis is not found the point's x coordinate refers to the chart pixels.
- */
- xAxis?: (number|string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position of the point.
- * Units can be either in axis or chart pixel coordinates.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This number defines which yAxis
- * the point is connected to. It refers to either the axis id or the index
- * of the axis in the yAxis array. If the option is not configured or the
- * axis is not found the point's y coordinate refers to the chart pixels.
- */
- yAxis?: (number|string|null);
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `annotation`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface AnnotationsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders annotation immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- export interface AnnotationsControlPointStyleOptions {
- fill?: string;
- stroke?: string;
- "stroke-width"?: number;
- }
- export interface AnnotationsCrookedLineControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsCrookedLineLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) A crooked line annotation.
- */
- export interface AnnotationsCrookedLineOptions {
- controlPointOptions?: AnnotationsCrookedLineControlPointOptions;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsCrookedLineLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsCrookedLineShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsCrookedLineTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsCrookedLineShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsCrookedLineTypeLineOptions {
- fill?: string;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsCrookedLineTypeOptions {
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsCrookedLineTypeLineOptions;
- points?: Array<AnnotationsCrookedLineTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- export interface AnnotationsCrookedLineTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- export interface AnnotationsElliottWaveControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsElliottWaveLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: string;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: string;
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- type?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) An elliott wave annotation.
- */
- export interface AnnotationsElliottWaveOptions {
- controlPointOptions?: AnnotationsElliottWaveControlPointOptions;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsElliottWaveLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsElliottWaveShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsElliottWaveTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsElliottWaveShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsElliottWaveTypeLineOptions {
- fill?: string;
- strokeWidth?: number;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsElliottWaveTypeOptions {
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsElliottWaveTypeLineOptions;
- points?: Array<AnnotationsElliottWaveTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsElliottWaveTypePointsLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- export interface AnnotationsElliottWaveTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- label?: AnnotationsElliottWaveTypePointsLabelOptions;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
- */
- export interface AnnotationsEventsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
- * is added to the chart.
- */
- add?: EventCallbackFunction<Annotation>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
- * is updated (e.g. drag and droppped or resized by control points).
- */
- afterUpdate?: EventCallbackFunction<Annotation>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
- * is removed from the chart.
- */
- remove?: EventCallbackFunction<Annotation>;
- }
- export interface AnnotationsFibonacciControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsFibonacciLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: string;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: string;
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: (AnnotationsFibonacciLabelStyleOptions|CSSObject);
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: string;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) Styles for the annotation's label.
- */
- export interface AnnotationsFibonacciLabelStyleOptions {
- color?: string;
- }
- /**
- * (Highstock) A fibonacci annotation.
- */
- export interface AnnotationsFibonacciOptions {
- controlPointOptions?: AnnotationsFibonacciControlPointOptions;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsFibonacciLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsFibonacciShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsFibonacciTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsFibonacciShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) An array with options for the labels.
- */
- export interface AnnotationsFibonacciTypeLabelsOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsFibonacciTypeLineOptions {
- fill?: string;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsFibonacciTypeOptions {
- /**
- * (Highstock) An array of background colors: Default to: (see online
- * documentation for example)
- */
- backgroundColors?: object;
- /**
- * (Highstock) The height of the fibonacci in terms of yAxis.
- */
- height?: number;
- /**
- * (Highstock) An array with options for the labels.
- */
- labels?: Array<AnnotationsFibonacciTypeLabelsOptions>;
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsFibonacciTypeLineOptions;
- /**
- * (Highstock) The color of line.
- */
- lineColor?: string;
- /**
- * (Highstock) An array of colors for the lines.
- */
- lineColors?: object;
- points?: Array<AnnotationsFibonacciTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- export interface AnnotationsFibonacciTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- export interface AnnotationsInfinityLineControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsInfinityLineLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) An infinity line annotation.
- */
- export interface AnnotationsInfinityLineOptions {
- controlPointOptions?: AnnotationsInfinityLineControlPointOptions;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsInfinityLineLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsInfinityLineShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsInfinityLineTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsInfinityLineShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsInfinityLineTypeLineOptions {
- fill?: string;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsInfinityLineTypeOptions {
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsInfinityLineTypeLineOptions;
- points?: Array<AnnotationsInfinityLineTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- export interface AnnotationsInfinityLineTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
- * Each label inherits options from the labelOptions object. An option from the
- * labelOptions can be overwritten by config for a specific label.
- */
- export interface AnnotationsLabelOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
- * annotation's label. If right, the right side of the label should be
- * touching the point.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
- * annotation's labels to overlap. To make the labels less sensitive for
- * overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
- * annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
- * label that is outside the plot area.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
- * the point.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the annotation's label. Note that if a `format` or `text` are
- * defined, the format or text take precedence and the formatter is ignored.
- * `This` refers to a point object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
- * visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
- * label that flow outside the plot area. The justify option aligns the
- * label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
- * the backgroundColor is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
- * shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
- * label.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
- * annotation. For options that apply to multiple labels, they can be added to
- * the labelOptions.
- */
- export interface AnnotationsLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
- * annotation's label. If right, the right side of the label should be
- * touching the point.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
- * annotation's labels to overlap. To make the labels less sensitive for
- * overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
- * annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
- * label that is outside the plot area.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
- * the point.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the annotation's label. Note that if a `format` or `text` are
- * defined, the format or text take precedence and the formatter is ignored.
- * `This` refers to a point object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
- * visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
- * label that flow outside the plot area. The justify option aligns the
- * label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
- * the backgroundColor is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
- * which the label will be connected. It can be either the point which
- * exists in the series - it is referenced by the point's id - or a new
- * point with defined x, y properties and optionally axes.
- */
- point?: (string|AnnotationMockPointOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
- * shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
- * label.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- y?: number;
- }
- export interface AnnotationsMeasureControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) A measure annotation.
- */
- export interface AnnotationsMeasureOptions {
- controlPointOptions?: AnnotationsMeasureControlPointOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsMeasureTypeOptions;
- }
- export interface AnnotationsMeasureTypeBackgroundOptions {
- /**
- * (Highstock) The color of the rectangle.
- */
- fill?: string;
- /**
- * (Highstock) The color of border.
- */
- stroke?: string;
- /**
- * (Highstock) The width of border.
- */
- strokeWidth?: number;
- }
- /**
- * (Highstock) Configure a crosshair that is horizontally placed in middle of
- * rectangle.
- */
- export interface AnnotationsMeasureTypeCrosshairXOptions {
- /**
- * (Highstock) The dash or dot style of the crosshair's line. For possible
- * values, see this demonstration.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Enable or disable the horizontal crosshair.
- */
- enabled?: boolean;
- /**
- * (Highstock) The marker-end defines the arrowhead that will be drawn at
- * the final vertex of the given crosshair's path.
- */
- markerEnd?: string;
- /**
- * (Highstock) The Z index of the crosshair in annotation.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Configure a crosshair that is vertically placed in middle of
- * rectangle.
- */
- export interface AnnotationsMeasureTypeCrosshairYOptions {
- /**
- * (Highstock) The dash or dot style of the crosshair's line. For possible
- * values, see this demonstration.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Enable or disable the vertical crosshair.
- */
- enabled?: boolean;
- /**
- * (Highstock) The marker-end defines the arrowhead that will be drawn at
- * the final vertex of the given crosshair's path.
- */
- markerEnd?: OptionsMarkerEndValue;
- /**
- * (Highstock) The Z index of the crosshair in annotation.
- */
- zIndex?: number;
- }
- export interface AnnotationsMeasureTypeLabelOptions {
- /**
- * (Highstock) Enable or disable the label text (min, max, average, bins
- * values).
- *
- * Defaults to true.
- */
- enabled?: boolean;
- /**
- * (Highstock) Formatter function for the label text.
- *
- * Available data are:
- *
- * (see online documentation for example)
- */
- formatter?: Function;
- /**
- * (Highstock) CSS styles for the measure label.
- */
- style?: (AnnotationsMeasureTypeLabelStyleOptions|CSSObject);
- }
- /**
- * (Highstock) CSS styles for the measure label.
- */
- export interface AnnotationsMeasureTypeLabelStyleOptions {
- color?: string;
- fontSize?: string;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsMeasureTypeLineOptions {
- fill?: string;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsMeasureTypeOptions {
- background?: AnnotationsMeasureTypeBackgroundOptions;
- /**
- * (Highstock) Configure a crosshair that is horizontally placed in middle
- * of rectangle.
- */
- crosshairX?: AnnotationsMeasureTypeCrosshairXOptions;
- /**
- * (Highstock) Configure a crosshair that is vertically placed in middle of
- * rectangle.
- */
- crosshairY?: AnnotationsMeasureTypeCrosshairYOptions;
- label?: AnnotationsMeasureTypeLabelOptions;
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsMeasureTypeLineOptions;
- points?: Array<AnnotationsMeasureTypePointsOptions>;
- /**
- * (Highstock) Decides in what dimensions the user can resize by dragging
- * the mouse. Can be one of x, y or xy.
- */
- selectType?: string;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the yAxis array.
- */
- yAxis?: number;
- }
- export interface AnnotationsMeasureTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation. It
- * allows to add custom labels or shapes. The items can be tied to points, axis
- * coordinates or chart pixel coordinates.
- */
- export interface AnnotationsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `annotation`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|AnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
- * points. Each control point inherits options from controlPointOptions
- * object. Options from the controlPointOptions can be overwritten by
- * options in a specific control point.
- */
- controlPointOptions?: AnnotationControlPointOptionsObject;
- /**
- * (Highstock) A crooked line annotation.
- */
- crookedLine?: AnnotationsCrookedLineOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
- * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
- * (disabled).
- */
- draggable?: AnnotationDraggableValue;
- /**
- * (Highstock) An elliott wave annotation.
- */
- elliottWave?: AnnotationsElliottWaveOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
- */
- events?: AnnotationsEventsOptions;
- /**
- * (Highstock) A fibonacci annotation.
- */
- fibonacci?: AnnotationsFibonacciOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
- * Can be user later when removing an annotation in
- * Chart.removeAnnotation(id) method.
- */
- id?: (number|string);
- /**
- * (Highstock) An infinity line annotation.
- */
- infinityLine?: AnnotationsInfinityLineOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
- * Each label inherits options from the labelOptions object. An option from
- * the labelOptions can be overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsLabelOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
- * annotation. For options that apply to multiple labels, they can be added
- * to the labelOptions.
- */
- labels?: Array<AnnotationsLabelsOptions>;
- /**
- * (Highstock) A measure annotation.
- */
- measure?: AnnotationsMeasureOptions;
- /**
- * (Highstock) A pitchfork annotation.
- */
- pitchfork?: AnnotationsPitchforkOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
- * Each shape inherits options from the shapeOptions object. An option from
- * the shapeOptions can be overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsShapeOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
- * annotation. For options that apply to multiple shapes, then can be added
- * to the shapeOptions.
- */
- shapes?: Array<AnnotationsShapesOptions>;
- /**
- * (Highstock) A tunnel annotation.
- */
- tunnel?: AnnotationsTunnelOptions;
- /**
- * (Highstock) A vertical line annotation.
- */
- verticalLine?: AnnotationsVerticalLineOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
- * visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
- */
- zIndex?: number;
- }
- export interface AnnotationsPitchforkControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsPitchforkLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) A pitchfork annotation.
- */
- export interface AnnotationsPitchforkOptions {
- controlPointOptions?: AnnotationsPitchforkControlPointOptions;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsPitchforkLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsPitchforkShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsPitchforkTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsPitchforkShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) Inner background options.
- */
- export interface AnnotationsPitchforkTypeInnerBackgroundOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: string;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsPitchforkTypeLineOptions {
- fill?: string;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsPitchforkTypeOptions {
- /**
- * (Highstock) Inner background options.
- */
- innerBackground?: AnnotationsPitchforkTypeInnerBackgroundOptions;
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsPitchforkTypeLineOptions;
- /**
- * (Highstock) Outer background options.
- */
- outerBackground?: AnnotationsPitchforkTypeOuterBackgroundOptions;
- points?: Array<AnnotationsPitchforkTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- /**
- * (Highstock) Outer background options.
- */
- export interface AnnotationsPitchforkTypeOuterBackgroundOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: string;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- }
- export interface AnnotationsPitchforkTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
- * Each shape inherits options from the shapeOptions object. An option from the
- * shapeOptions can be overwritten by config for a specific shape.
- */
- export interface AnnotationsShapeOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
- * for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
- */
- height?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
- */
- r?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
- * around an annotation making this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
- * the annotation shape. Note, type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
- * shape.
- */
- strokeWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
- * circle or rectangle.
- */
- type?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
- * annotation. For options that apply to multiple shapes, then can be added to
- * the shapeOptions.
- */
- export interface AnnotationsShapesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
- * for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
- */
- height?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
- * drawn at the final vertex of the path. Custom markers can be defined in
- * defs property.
- */
- markerEnd?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
- * drawn at the first vertex of the path. Custom markers can be defined in
- * defs property.
- */
- markerStart?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
- * which the shape will be connected. It can be either the point which
- * exists in the series - it is referenced by the point's id - or a new
- * point with defined x, y properties and optionally axes.
- */
- point?: (string|AnnotationMockPointOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
- * shape. This option is available for shapes which can use multiple points
- * such as path. A point can be either a point object or a point's id.
- */
- points?: Array<(string|AnnotationMockPointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
- */
- r?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
- * around an annotation making this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
- * the annotation shape. Note, type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
- * shape.
- */
- strokeWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
- * circle or rectangle.
- */
- type?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
- */
- width?: number;
- }
- export interface AnnotationsTunnelControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsTunnelLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) A tunnel annotation.
- */
- export interface AnnotationsTunnelOptions {
- controlPointOptions?: AnnotationsTunnelControlPointOptions;
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsTunnelLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsTunnelShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsTunnelTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsTunnelShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) Background options.
- */
- export interface AnnotationsTunnelTypeBackgroundOptions {
- fill?: string;
- strokeWidth?: number;
- }
- /**
- * (Highstock) Options for the control point which controls the annotation's
- * height.
- */
- export interface AnnotationsTunnelTypeHeightControlPointOptions {
- events?: any;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsTunnelTypeLineOptions {
- fill?: string;
- strokeWidth?: number;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsTunnelTypeOptions {
- /**
- * (Highstock) Background options.
- */
- background?: (object|AnnotationsTunnelTypeBackgroundOptions);
- /**
- * (Highstock) The height of the annotation in terms of yAxis.
- */
- height?: number;
- /**
- * (Highstock) Options for the control point which controls the annotation's
- * height.
- */
- heightControlPoint?: AnnotationsTunnelTypeHeightControlPointOptions;
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsTunnelTypeLineOptions;
- points?: Array<AnnotationsTunnelTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- export interface AnnotationsTunnelTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options from
- * the labelOptions object. An option from the labelOptions can be overwritten
- * by config for a specific label.
- */
- export interface AnnotationsVerticalLineLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) A vertical line annotation.
- */
- export interface AnnotationsVerticalLineOptions {
- /**
- * (Highstock) Options for annotation's labels. Each label inherits options
- * from the labelOptions object. An option from the labelOptions can be
- * overwritten by config for a specific label.
- */
- labelOptions?: AnnotationsVerticalLineLabelOptions;
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options
- * from the shapeOptions object. An option from the shapeOptions can be
- * overwritten by config for a specific shape.
- */
- shapeOptions?: AnnotationsVerticalLineShapeOptions;
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- typeOptions?: AnnotationsVerticalLineTypeOptions;
- }
- /**
- * (Highstock) Options for annotation's shapes. Each shape inherits options from
- * the shapeOptions object. An option from the shapeOptions can be overwritten
- * by config for a specific shape.
- */
- export interface AnnotationsVerticalLineShapeOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The height of the shape.
- */
- height?: number;
- /**
- * (Highstock) The radius of the shape.
- */
- r?: number;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- /**
- * (Highstock) The type of the shape, e.g. circle or rectangle.
- */
- type?: string;
- /**
- * (Highstock) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highstock) Connector options.
- */
- export interface AnnotationsVerticalLineTypeConnectorOptions {
- /**
- * (Highstock) Name of the dash style to use for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- markerEnd?: string;
- /**
- * (Highstock) Defines additional snapping area around an annotation making
- * this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highstock) The URL for an image to use as the annotation shape. Note,
- * type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highstock) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highstock) The pixel stroke width of the shape.
- */
- strokeWidth?: number;
- }
- /**
- * (Highstock) Label options.
- */
- export interface AnnotationsVerticalLineTypeLabelOptions {
- /**
- * (Highstock) Accessibility options for an annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highstock) The alignment of the annotation's label. If right, the right
- * side of the label should be touching the point.
- */
- align?: AlignValue;
- /**
- * (Highstock) Whether to allow the annotation's labels to overlap. To make
- * the labels less sensitive for overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highstock) The background color or gradient for the annotation's label.
- */
- backgroundColor?: string;
- /**
- * (Highstock) The border color for the annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highstock) The border radius in pixels for the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width in pixels for the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highstock) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highstock) Whether to hide the annotation's label that is outside the
- * plot area.
- */
- crop?: boolean;
- /**
- * (Highstock) The label's pixel distance from the point.
- */
- distance?: number;
- /**
- * (Highstock) A format string for the data label.
- */
- format?: string;
- /**
- * (Highstock) Callback JavaScript function to format the annotation's
- * label. Note that if a `format` or `text` are defined, the format or text
- * take precedence and the formatter is ignored. `This` refers to a point
- * object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Whether the annotation is visible in the exported data table.
- */
- includeInDataExport?: boolean;
- offset?: number;
- /**
- * (Highstock) How to handle the annotation's label that flow outside the
- * plot area. The justify option aligns the label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highstock) When either the borderWidth or the backgroundColor is set,
- * this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highstock) The shadow of the box. The shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highstock) Styles for the annotation's label.
- */
- style?: CSSObject;
- /**
- * (Highstock) Alias for the format option.
- */
- text?: string;
- /**
- * (Highstock) Whether to use HTML to render the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highstock) The vertical alignment of the annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock) The x position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- x?: number;
- /**
- * (Highstock) The y position offset of the label relative to the point.
- * Note that if a `distance` is defined, the distance takes precedence over
- * `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highstock) Line options.
- */
- export interface AnnotationsVerticalLineTypeLineOptions {
- fill?: string;
- }
- /**
- * (Highstock) Additional options for an annotation with the type.
- */
- export interface AnnotationsVerticalLineTypeOptions {
- /**
- * (Highstock) Connector options.
- */
- connector?: AnnotationsVerticalLineTypeConnectorOptions;
- /**
- * (Highstock) Label options.
- */
- label?: AnnotationsVerticalLineTypeLabelOptions;
- /**
- * (Highstock) Line options.
- */
- line?: AnnotationsVerticalLineTypeLineOptions;
- points?: Array<AnnotationsVerticalLineTypePointsOptions>;
- /**
- * (Highstock) This number defines which xAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- xAxis?: number;
- /**
- * (Highstock) This number defines which yAxis the point is connected to. It
- * refers to either the axis id or the index of the axis in the xAxis array.
- */
- yAxis?: number;
- }
- export interface AnnotationsVerticalLineTypePointsOptions {
- controlPoint?: number;
- /**
- * (Highstock) The x position of the point.
- */
- x?: number;
- /**
- * (Highstock) The y position of the point.
- */
- y?: number;
- }
- /**
- * (Highcharts) Accessibility options for an axis. Requires the accessibility
- * module.
- */
- export interface AxisAccessibilityOptionsObject {
- /**
- * (Highcharts) Description for an axis to expose to screen reader users.
- */
- description?: string;
- /**
- * (Highcharts) Enable axis accessibility features, including axis
- * information in the screen reader information region. If this is disabled
- * on the xAxis, the x values are not exposed to screen readers for the
- * individual data points by default.
- */
- enabled?: boolean;
- /**
- * (Highcharts) Range description for an axis. Overrides the default range
- * description. Set to empty to disable range description for this axis.
- */
- rangeDescription?: string;
- }
- /**
- * (Highstock) A label on the axis next to the crosshair.
- *
- * In styled mode, the label is styled with the `.highcharts-crosshair-label`
- * class.
- */
- export interface AxisCrosshairLabelOptions {
- /**
- * (Highstock) Alignment of the label compared to the axis. Defaults to
- * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
- * for horizontal axes.
- */
- align?: AlignValue;
- /**
- * (Highstock) The background color for the label. Defaults to the related
- * series color, or `#666666` if that is not available.
- */
- backgroundColor?: ColorType;
- /**
- * (Highstock) The border color for the crosshair label
- */
- borderColor?: ColorType;
- /**
- * (Highstock) The border corner radius of the crosshair label.
- */
- borderRadius?: number;
- /**
- * (Highstock) The border width for the crosshair label.
- */
- borderWidth?: number;
- /**
- * (Highstock) Flag to enable crosshair's label.
- */
- enabled?: boolean;
- /**
- * (Highstock) A format string for the crosshair label. Defaults to
- * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
- */
- format?: string;
- /**
- * (Highstock) Formatter function for the label text.
- */
- formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
- /**
- * (Highstock) Padding inside the crosshair label.
- */
- padding?: number;
- /**
- * (Highstock) The shape to use for the label box.
- */
- shape?: string;
- /**
- * (Highstock) Text styles for the crosshair label.
- */
- style?: CSSObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that follows
- * either the mouse pointer or the hovered point.
- *
- * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
- * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
- */
- export interface AxisCrosshairOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the crosshair,
- * especially as a hook for styling.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the crosshair.
- * Defaults to `#cccccc` for numeric and datetime axes, and
- * `rgba(204,214,235,0.25)` for category axes, where the crosshair by
- * default highlights the whole category.
- */
- color?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The dash style for the
- * crosshair. See plotOptions.series.dashStyle for possible values.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) A label on the axis next to the crosshair.
- *
- * In styled mode, the label is styled with the
- * `.highcharts-crosshair-label` class.
- */
- label?: AxisCrosshairLabelOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the crosshair should
- * snap to the point or follow the pointer independent of points.
- */
- snap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the
- * crosshair. Defaults to 1 for numeric or datetime axes, and for one
- * category width for category axes.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the crosshair.
- * Higher Z indices allow drawing the crosshair on top of the series or
- * behind the grid lines.
- */
- zIndex?: number;
- }
- /**
- * (Gantt) Show an indicator on the axis for the current date and time. Can be a
- * boolean or a configuration object similar to xAxis.plotLines.
- */
- export interface AxisCurrentDateIndicatorOptions {
- /**
- * (Highstock) Flag to decide if plotLine should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Gantt) A custom class name, in addition to the default
- * `highcharts-plot-line`, to apply to each individual line.
- */
- className?: string;
- /**
- * (Gantt) The color of the line.
- */
- color?: ColorString;
- /**
- * (Gantt) The dashing or dot style for the plot line. For possible values
- * see this overview.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Gantt) An object defining mouse events for the plot line. Supported
- * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- events?: (ColorAxisCurrentDateIndicatorEventsOptions|NavigatorXAxisCurrentDateIndicatorEventsOptions|XAxisCurrentDateIndicatorEventsOptions|ZAxisCurrentDateIndicatorEventsOptions);
- /**
- * (Gantt) An id used for identifying the plot line in Axis.removePlotLine.
- */
- id?: string;
- /**
- * (Gantt) Text labels for the plot bands
- */
- label?: (ColorAxisCurrentDateIndicatorLabelOptions|NavigatorXAxisCurrentDateIndicatorLabelOptions|XAxisCurrentDateIndicatorLabelOptions|ZAxisCurrentDateIndicatorLabelOptions);
- /**
- * (Gantt) The width or thickness of the plot line.
- */
- width?: number;
- /**
- * (Gantt) The z index of the plot line within the chart.
- */
- zIndex?: number;
- }
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations used
- * for each unit. For intermediate values, different units may be used, for
- * example the `day` unit can be used on midnight and `hour` unit be used for
- * intermediate values on the same axis. For grid axes (like in Gantt charts),
- * it is possible to declare as a list to provide different formats depending on
- * available space. For an overview of the replacement codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- export interface AxisDateTimeLabelFormatsOptions {
- day?: (string|AxisDateTimeLabelFormatsOptionsObject);
- hour?: (string|AxisDateTimeLabelFormatsOptionsObject);
- millisecond?: (string|AxisDateTimeLabelFormatsOptionsObject);
- minute?: (string|AxisDateTimeLabelFormatsOptionsObject);
- month?: (string|AxisDateTimeLabelFormatsOptionsObject);
- second?: (string|AxisDateTimeLabelFormatsOptionsObject);
- week?: (string|AxisDateTimeLabelFormatsOptionsObject);
- year?: (string|AxisDateTimeLabelFormatsOptionsObject);
- }
- export interface AxisDateTimeLabelFormatsOptionsObject {
- main?: string;
- range?: boolean;
- }
- export interface AxisLabelsFormatterContextObject<T> {
- axis: Axis;
- chart: Chart;
- isFirst: boolean;
- isLast: boolean;
- pos: number;
- value: T;
- }
- /**
- * Options for the path on the Axis to be calculated.
- */
- export interface AxisPlotLinePathOptionsObject {
- /**
- * Used in Highstock. When `true`, plot paths (crosshair, plotLines,
- * gridLines) will be rendered on all axes when defined on the first axis.
- */
- acrossPanes?: boolean;
- /**
- * If `false`, the function will return null when it falls outside the axis
- * bounds. If `true`, the function will return a path aligned to the plot
- * area sides if it falls outside. If `pass`, it will return a path outside.
- */
- force?: (boolean|string);
- /**
- * Line width used for calculation crisp line coordinates. Defaults to 1.
- */
- lineWidth?: number;
- /**
- * Use old coordinates (for resizing and rescaling). If not set, defaults to
- * `false`.
- */
- old?: boolean;
- /**
- * Used in Polar axes. Reverse the positions for concatenation of polygonal
- * plot bands
- */
- reverse?: boolean;
- /**
- * If given, return the plot line path of a pixel position on the axis.
- */
- translatedValue?: number;
- /**
- * Axis value.
- */
- value?: number;
- }
- export interface AxisPointBreakEventObject {
- brk: Dictionary<number>;
- point: Point;
- preventDefault: Function;
- target: SVGElement;
- type: ("pointBreak"|"pointInBreak");
- }
- export interface AxisSetExtremesEventObject extends ExtremesObject {
- preventDefault: Function;
- target: SVGElement;
- trigger: (string|AxisExtremesTriggerValue);
- type: "setExtremes";
- }
- /**
- * Time ticks.
- */
- export interface AxisTickPositionsArray extends Array<number> {
- info?: TimeTicksInfoObject;
- }
- /**
- * Bounding box of an element.
- */
- export interface BBoxObject extends PositionObject {
- /**
- * Height of the bounding box.
- */
- height: number;
- /**
- * Width of the bounding box.
- */
- width: number;
- /**
- * Horizontal position of the bounding box.
- */
- x: number;
- /**
- * Vertical position of the bounding box.
- */
- y: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Debugging options for boost. Useful
- * for benchmarking, and general timing.
- */
- export interface BoostDebugOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Show the number of points
- * skipped through culling.
- *
- * When set to true, the number of points skipped in series processing is
- * outputted. Points are skipped if they are closer than 1 pixel from each
- * other.
- */
- showSkipSummary?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time the WebGL to SVG buffer
- * copy
- *
- * After rendering, the result is copied to an image which is injected into
- * the SVG.
- *
- * If this property is set to true, the time it takes for the buffer copy to
- * complete is outputted.
- */
- timeBufferCopy?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time the building of the k-d
- * tree.
- *
- * This outputs the time spent building the k-d tree used for markers etc.
- *
- * Note that the k-d tree is built async, and runs post-rendering.
- * Following, it does not affect the performance of the rendering itself.
- */
- timeKDTree?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time the series rendering.
- *
- * This outputs the time spent on actual rendering in the console when set
- * to true.
- */
- timeRendering?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time the series processing.
- *
- * This outputs the time spent on transforming the series data to vertex
- * buffers when set to true.
- */
- timeSeriesProcessing?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time the the WebGL setup.
- *
- * This outputs the time spent on setting up the WebGL context, creating
- * shaders, and textures.
- */
- timeSetup?: boolean;
- }
- export interface BoostOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If set to true, the whole chart
- * will be boosted if one of the series crosses its threshold, and all the
- * series can be boosted.
- */
- allowForce?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Debugging options for boost.
- * Useful for benchmarking, and general timing.
- */
- debug?: BoostDebugOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable boost on a
- * chart.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set the series threshold for
- * when the boost should kick in globally.
- *
- * Setting to e.g. 20 will cause the whole chart to enter boost mode if
- * there are 20 or more series active. When the chart is in boost mode,
- * every series in it will be rendered to a common canvas. This offers a
- * significant speed improvment in charts with a very high amount of series.
- */
- seriesThreshold?: (number|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable GPU
- * translations. GPU translations are faster than doing the translation in
- * JavaScript.
- *
- * This option may cause rendering issues with certain datasets. Namely, if
- * your dataset has large numbers with small increments (such as
- * timestamps), it won't work correctly. This is due to floating point
- * precission.
- */
- useGPUTranslations?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable pre-allocation
- * of vertex buffers.
- *
- * Enabling this will make it so that the binary data arrays required for
- * storing the series data will be allocated prior to transforming the data
- * to a WebGL-compatible format.
- *
- * This saves a copy operation on the order of O(n) and so is significantly
- * more performant. However, this is currently an experimental option, and
- * may cause visual artifacts with some datasets.
- *
- * As such, care should be taken when using this setting to make sure that
- * it doesn't cause any rendering glitches with the given use-case.
- */
- usePreallocated?: boolean;
- }
- export interface BubbleLegendFormatterContextObject {
- /**
- * The center y position of the range.
- */
- center: number;
- /**
- * The radius of the bubble range.
- */
- radius: number;
- /**
- * The bubble value.
- */
- value: number;
- }
- /**
- * The chart caption. The caption has an `update` method that allows modifying
- * the options directly or indirectly via `chart.update`.
- */
- export interface CaptionObject extends SVGElement {
- /**
- * Modify options for the caption.
- *
- * @param captionOptions
- * Options to modify.
- *
- * @param redraw
- * Whether to redraw the chart after the caption is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call Chart#redraw after.
- */
- update(captionOptions: CaptionOptions, redraw?: boolean): void;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
- * render below the chart and will be part of exported charts. The caption can
- * be updated after chart initialization through the `Chart.update` or
- * `Chart.caption.update` methods.
- */
- export interface CaptionOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
- * caption. Can be one of "left", "center" and "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When the caption is floating,
- * the plot area will not move to make space for it.
- */
- floating?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the caption
- * and the plot area.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the caption.
- *
- * In styled mode, the caption style is given in the `.highcharts-caption`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The caption text of the chart.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the text.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * caption. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle,
- * the caption behaves as floating.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position of the caption
- * relative to the alignment within `chart.spacingLeft` and
- * `chart.spacingRight`.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position of the caption
- * relative to the alignment within `chart.spacingTop` and
- * `chart.spacingBottom`.
- */
- y?: number;
- }
- /**
- * (Highcharts) The back side of the frame around a 3D chart.
- */
- export interface Chart3dFrameBackOptions {
- /**
- * (Highcharts) The color of the panel.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The thickness of the panel.
- */
- size?: number;
- /**
- * (Highcharts) Whether to display the frame. Possible values are `true`,
- * `false`, `"auto"` to display only the frames behind the data, and
- * `"default"` to display faces behind the data based on the axis layout,
- * ignoring the point of view.
- */
- visible?: ("auto"|"default"|boolean);
- }
- /**
- * (Highcharts) The bottom of the frame around a 3D chart.
- */
- export interface Chart3dFrameBottomOptions {
- /**
- * (Highcharts) The color of the panel.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The thickness of the panel.
- */
- size?: number;
- /**
- * (Highcharts) Whether to display the frame. Possible values are `true`,
- * `false`, `"auto"` to display only the frames behind the data, and
- * `"default"` to display faces behind the data based on the axis layout,
- * ignoring the point of view.
- */
- visible?: ("auto"|"default"|boolean);
- }
- /**
- * (Highcharts) The front of the frame around a 3D chart.
- */
- export interface Chart3dFrameFrontOptions {
- /**
- * (Highcharts) The color of the panel.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The thickness of the panel.
- */
- size?: number;
- /**
- * (Highcharts) Whether to display the frame. Possible values are `true`,
- * `false`, `"auto"` to display only the frames behind the data, and
- * `"default"` to display faces behind the data based on the axis layout,
- * ignoring the point of view.
- */
- visible?: ("auto"|"default"|boolean);
- }
- /**
- * (Highcharts) The left side of the frame around a 3D chart.
- */
- export interface Chart3dFrameLeftOptions {
- /**
- * (Highcharts) The color of the panel.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The thickness of the panel.
- */
- size?: number;
- /**
- * (Highcharts) Whether to display the frame. Possible values are `true`,
- * `false`, `"auto"` to display only the frames behind the data, and
- * `"default"` to display faces behind the data based on the axis layout,
- * ignoring the point of view.
- */
- visible?: ("auto"|"default"|boolean);
- }
- /**
- * (Highcharts) Provides the option to draw a frame around the charts by
- * defining a bottom, front and back panel.
- */
- export interface Chart3dFrameOptions {
- /**
- * (Highcharts) The back side of the frame around a 3D chart.
- */
- back?: Chart3dFrameBackOptions;
- /**
- * (Highcharts) The bottom of the frame around a 3D chart.
- */
- bottom?: Chart3dFrameBottomOptions;
- /**
- * (Highcharts) The front of the frame around a 3D chart.
- */
- front?: Chart3dFrameFrontOptions;
- /**
- * (Highcharts) The left side of the frame around a 3D chart.
- */
- left?: Chart3dFrameLeftOptions;
- /**
- * (Highcharts) The right of the frame around a 3D chart.
- */
- right?: Chart3dFrameRightOptions;
- /**
- * (Highcharts) General pixel thickness for the frame faces.
- */
- size?: number;
- /**
- * (Highcharts) The top of the frame around a 3D chart.
- */
- top?: Chart3dFrameTopOptions;
- /**
- * (Highcharts) Whether the frames are visible.
- */
- visible?: string;
- }
- /**
- * (Highcharts) The right of the frame around a 3D chart.
- */
- export interface Chart3dFrameRightOptions {
- /**
- * (Highcharts) The color of the panel.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The thickness of the panel.
- */
- size?: number;
- /**
- * (Highcharts) Whether to display the frame. Possible values are `true`,
- * `false`, `"auto"` to display only the frames behind the data, and
- * `"default"` to display faces behind the data based on the axis layout,
- * ignoring the point of view.
- */
- visible?: ("auto"|"default"|boolean);
- }
- /**
- * (Highcharts) The top of the frame around a 3D chart.
- */
- export interface Chart3dFrameTopOptions {
- /**
- * (Highcharts) The color of the panel.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The thickness of the panel.
- */
- size?: number;
- /**
- * (Highcharts) Whether to display the frame. Possible values are `true`,
- * `false`, `"auto"` to display only the frames behind the data, and
- * `"default"` to display faces behind the data based on the axis layout,
- * ignoring the point of view.
- */
- visible?: ("auto"|"default"|boolean);
- }
- /**
- * (Highcharts) Options to render charts in 3 dimensions. This feature requires
- * `highcharts-3d.js`, found in the download package or online at
- * code.highcharts.com/highcharts-3d.js.
- */
- export interface Chart3dOptions {
- /**
- * (Highcharts) One of the two rotation angles for the chart.
- */
- alpha?: number;
- /**
- * (Highcharts) Set it to `"auto"` to automatically move the labels to the
- * best edge.
- */
- axisLabelPosition?: ("auto"|null);
- /**
- * (Highcharts) One of the two rotation angles for the chart.
- */
- beta?: number;
- /**
- * (Highcharts) The total depth of the chart.
- */
- depth?: number;
- /**
- * (Highcharts) Wether to render the chart using the 3D functionality.
- */
- enabled?: boolean;
- /**
- * (Highcharts) Whether the 3d box should automatically adjust to the chart
- * plot area.
- */
- fitToPlot?: boolean;
- /**
- * (Highcharts) Provides the option to draw a frame around the charts by
- * defining a bottom, front and back panel.
- */
- frame?: Chart3dFrameOptions;
- /**
- * (Highcharts) Defines the distance the viewer is standing in front of the
- * chart, this setting is important to calculate the perspective effect in
- * column and scatter charts. It is not used for 3D pie charts.
- */
- viewDistance?: number;
- }
- /**
- * Contains common event information. Through the `options` property you can
- * access the series options that were passed to the `addSeries` method.
- */
- export interface ChartAddSeriesEventObject {
- /**
- * The series options that were passed to the `addSeries` method.
- */
- options: SeriesOptionsType;
- /**
- * Prevents the default behaviour of the event.
- */
- preventDefault: Function;
- /**
- * The event target.
- */
- target: Chart;
- /**
- * The event type.
- */
- type: "addSeries";
- }
- /**
- * Contains an axes of the clicked spot.
- */
- export interface ChartClickEventAxisObject {
- /**
- * Axis at the clicked spot.
- */
- axis: Axis;
- /**
- * Axis value at the clicked spot.
- */
- value: number;
- }
- /**
- * Contains information about the clicked spot on the chart. Remember the unit
- * of a datetime axis is milliseconds since 1970-01-01 00:00:00.
- */
- export interface ChartClickEventObject extends PointerEventObject {
- /**
- * Information about the x-axis on the clicked spot.
- */
- xAxis: Array<ChartClickEventAxisObject>;
- /**
- * Information about the y-axis on the clicked spot.
- */
- yAxis: Array<ChartClickEventAxisObject>;
- /**
- * Information about the z-axis on the clicked spot.
- */
- zAxis?: Array<ChartClickEventAxisObject>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
- */
- export interface ChartEventsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when a series is added to
- * the chart after load time, using the `addSeries` method. One parameter,
- * `event`, is passed to the function, containing common event information.
- * Through `event.options` you can access the series options that were
- * passed to the `addSeries` method. Returning false prevents the series
- * from being added.
- */
- addSeries?: ChartAddSeriesCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires after a chart is printed
- * through the context menu item or the `Chart.print` method.
- */
- afterPrint?: ExportingAfterPrintCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires before a chart is printed
- * through the context menu item or the `Chart.print` method.
- */
- beforePrint?: ExportingBeforePrintCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when clicking on the plot
- * background. One parameter, `event`, is passed to the function, containing
- * common event information.
- *
- * Information on the clicked spot can be found through `event.xAxis` and
- * `event.yAxis`, which are arrays containing the axes of each dimension and
- * each axis' value at the clicked spot. The primary axes are
- * `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a datetime
- * axis is milliseconds since 1970-01-01 00:00:00. (see online documentation
- * for example)
- */
- click?: ChartClickCallbackFunction;
- /**
- * (Highcharts, Highmaps) Fires when a drilldown point is clicked, before
- * the new series is added. This event is also utilized for async drilldown,
- * where the seriesOptions are not added by option, but rather loaded async.
- * Note that when clicking a category label to trigger multiple series
- * drilldown, one `drilldown` event is triggered per point in the category.
- *
- * Event arguments:
- *
- * - `category`: If a category label was clicked, which index.
- *
- * - `originalEvent`: The original browser event (usually click) that
- * triggered the drilldown.
- *
- * - `point`: The originating point.
- *
- * - `points`: If a category label was clicked, this array holds all points
- * corresponding to the category.
- *
- * - `seriesOptions`: Options for the new series.
- */
- drilldown?: DrilldownCallbackFunction;
- /**
- * (Highcharts, Highmaps) Fires when drilling up from a drilldown series.
- */
- drillup?: DrillupCallbackFunction;
- /**
- * (Highcharts, Highmaps) In a chart with multiple drilldown series, this
- * event fires after all the series have been drilled up.
- */
- drillupall?: DrillupAllCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback that fires while
- * exporting data. This allows the modification of data rows before
- * processed into the final format.
- */
- exportData?: ExportDataCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is finished
- * loading. Since v4.2.2, it also waits for images to be loaded, for example
- * from point markers. One parameter, `event`, is passed to the function,
- * containing common event information.
- *
- * There is also a second parameter to the chart constructor where a
- * callback function can be passed to be executed on chart.load.
- */
- load?: ChartLoadCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is redrawn,
- * either after a call to `chart.redraw()` or after an axis, series or point
- * is modified with the `redraw` option set to `true`. One parameter,
- * `event`, is passed to the function, containing common event information.
- */
- redraw?: ChartRedrawCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires after initial load of the
- * chart (directly after the `load` event), and after each redraw (directly
- * after the `redraw` event).
- */
- render?: ChartRenderCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when an area of the chart
- * has been selected. Selection is enabled by setting the chart's zoomType.
- * One parameter, `event`, is passed to the function, containing common
- * event information. The default action for the selection event is to zoom
- * the chart to the selected area. It can be prevented by calling
- * `event.preventDefault()` or return false.
- *
- * Information on the selected area can be found through `event.xAxis` and
- * `event.yAxis`, which are arrays containing the axes of each dimension and
- * each axis' min and max values. The primary axes are `event.xAxis[0]` and
- * `event.yAxis[0]`. Remember the unit of a datetime axis is milliseconds
- * since 1970-01-01 00:00:00. (see online documentation for example)
- */
- selection?: ChartSelectionCallbackFunction;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
- */
- export interface ChartOptions {
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set the overall animation for
- * all chart updating. Animation can be disabled throughout the chart by
- * setting it to false here. It can be overridden for each individual API
- * method as a function parameter. The only animation not affected by this
- * option is the initial series animation, see plotOptions.series.animation.
- *
- * The animation can either be set as a boolean or a configuration object.
- * If `true`, it will use the 'swing' jQuery easing and a duration of 500
- * ms. If used as a configuration object, the following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: A string reference to an easing function set on the `Math`
- * object. See the easing demo.
- *
- * When zooming on a series with less than 100 points, the chart redraw will
- * be done with animation, but in case of more data points, it is necessary
- * to set this option to ensure animation on zoom.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the outer chart area.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the outer chart
- * border.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The corner radius of the outer
- * chart border.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the outer
- * chart border.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
- * charts container `div`, allowing unique CSS styling for each chart.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) In styled mode, this sets how
- * many colors the class names should rotate between. With ten colors,
- * series (or points) are given class names like `highcharts-color-0`,
- * `highcharts-color-0` [...] `highcharts-color-9`. The equivalent in
- * non-styled mode is to set colors using the colors setting.
- */
- colorCount?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to display errors on the
- * chart. When `false`, the errors will be shown only in the console.
- */
- displayErrors?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
- */
- events?: ChartEventsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An explicit height for the
- * chart. If a _number_, the height is given in pixels. If given a
- * _percentage string_ (for example `'56%'`), the height is given as the
- * percentage of the actual chart width. This allows for preserving the
- * aspect ratio across responsive sizes.
- *
- * By default (when `null`) the height is calculated from the offset height
- * of the containing element, or 400 pixels if the containing element's
- * height is 0.
- */
- height?: (number|string|null);
- /**
- * (Highcharts, Highstock, Gantt) If true, the axes will scale to the
- * remaining visible series once one series is hidden. If false, hiding and
- * showing a series will not affect the axes or the other series. For
- * stacks, once one series within the stack is hidden, the rest of the stack
- * will close in around it even if the axis is not affected.
- */
- ignoreHiddenSeries?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to invert the axes so that the x
- * axis is vertical and y axis is horizontal. When `true`, the x axis is
- * reversed by default.
- */
- inverted?: boolean;
- /**
- * (Highmaps) Default `mapData` for all series. If set to a string, it
- * functions as an index into the `Highcharts.maps` array. Otherwise it is
- * interpreted as map data.
- */
- map?: (string|GeoJSON|Array<any>);
- /**
- * (Highmaps) Set lat/lon transformation definitions for the chart. If not
- * defined, these are extracted from the map data.
- */
- mapTransforms?: any;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the outer
- * edge of the chart and the plot area. The numbers in the array designate
- * top, right, bottom and left respectively. Use the options `marginTop`,
- * `marginRight`, `marginBottom` and `marginLeft` for shorthand setting of
- * one option.
- *
- * By default there is no margin. The actual space is dynamically calculated
- * from the offset of axis labels, axis title, title, subtitle and legend in
- * addition to the `spacingTop`, `spacingRight`, `spacingBottom` and
- * `spacingLeft` options.
- */
- margin?: (number|Array<number>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the bottom
- * outer edge of the chart and the plot area. Use this to set a fixed pixel
- * value for the margin as opposed to the default dynamic margin. See also
- * `spacingBottom`.
- */
- marginBottom?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the left
- * outer edge of the chart and the plot area. Use this to set a fixed pixel
- * value for the margin as opposed to the default dynamic margin. See also
- * `spacingLeft`.
- */
- marginLeft?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the right
- * outer edge of the chart and the plot area. Use this to set a fixed pixel
- * value for the margin as opposed to the default dynamic margin. See also
- * `spacingRight`.
- */
- marginRight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the top outer
- * edge of the chart and the plot area. Use this to set a fixed pixel value
- * for the margin as opposed to the default dynamic margin. See also
- * `spacingTop`.
- */
- marginTop?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback function to override
- * the default function that formats all the numbers in the chart. Returns a
- * string with the formatted number.
- */
- numberFormatter?: NumberFormatterCallbackFunction;
- /**
- * (Highcharts) Options to render charts in 3 dimensions. This feature
- * requires `highcharts-3d.js`, found in the download package or online at
- * code.highcharts.com/highcharts-3d.js.
- */
- options3d?: Chart3dOptions;
- /**
- * (Highcharts, Gantt) Allows setting a key to switch between zooming and
- * panning. Can be one of `alt`, `ctrl`, `meta` (the command key on Mac and
- * Windows key on Windows) or `shift`. The keys are mapped directly to the
- * key properties of the click event argument (`event.altKey`,
- * `event.ctrlKey`, `event.metaKey` and `event.shiftKey`).
- */
- panKey?: OptionsPanKeyValue;
- /**
- * (Highcharts, Highstock, Gantt) Allow panning in a chart. Best used with
- * panKey to combine zooming and panning.
- *
- * On touch devices, when the tooltip.followTouchMove option is `true`
- * (default), panning requires two fingers. To allow panning with one
- * finger, set `followTouchMove` to `false`.
- */
- panning?: ChartPanningOptions;
- /**
- * (Highcharts) Common options for all yAxes rendered in a parallel
- * coordinates plot. This feature requires
- * `modules/parallel-coordinates.js`.
- *
- * The default options are: (see online documentation for example)
- */
- parallelAxes?: (ChartParallelAxesOptions|Array<ChartParallelAxesOptions>);
- /**
- * (Highcharts) Flag to render charts as a parallel coordinates plot. In a
- * parallel coordinates plot (||-coords) by default all required yAxes are
- * generated and the legend is disabled. This feature requires
- * `modules/parallel-coordinates.js`.
- */
- parallelCoordinates?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Equivalent to zoomType, but for multitouch
- * gestures only. By default, the `pinchType` is the same as the `zoomType`
- * setting. However, pinching can be enabled separately in some cases, for
- * example in stock charts where a mouse drag pans the chart, while pinching
- * is enabled. When tooltip.followTouchMove is true, pinchType only applies
- * to two-finger touches.
- */
- pinchType?: OptionsPinchTypeValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the plot area.
- */
- plotBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
- * the plot background. To set an image as the background for the entire
- * chart, set a CSS background image to the container element. Note that for
- * the image to be applied to exported charts, its URL needs to be
- * accessible by the export server.
- */
- plotBackgroundImage?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the inner chart or
- * plot area border.
- */
- plotBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the plot area
- * border.
- */
- plotBorderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
- * to the plot area. Requires that plotBackgroundColor be set. The shadow
- * can be an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- plotShadow?: (boolean|CSSObject);
- /**
- * (Highcharts) When true, cartesian charts like line, spline, area and
- * column are transformed into the polar coordinate system. This produces
- * _polar charts_, also known as _radar charts_.
- */
- polar?: boolean;
- /**
- * (Highmaps) Allows to manually load the proj4 library from Highcharts
- * options instead of the `window`. In case of loading the library from a
- * `script` tag, this option is not needed, it will be loaded from there by
- * default.
- */
- proj4?: Function;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to reflow the chart to
- * fit the width of the container div on resizing the window.
- */
- reflow?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The HTML element where the chart
- * will be rendered. If it is a string, the element by that id is used. The
- * HTML element can also be passed by direct reference, or as the first
- * argument of the chart constructor, in which case the option is not
- * needed.
- */
- renderTo?: (string|HTMLDOMElement);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
- * selection zoom, allowing the user to reset zoom.
- */
- resetZoomButton?: ChartResetZoomButtonOptions;
- /**
- * (Highcharts, Gantt) Options for a scrollable plot area. This feature
- * provides a minimum size for the plot area of the chart. If the size gets
- * smaller than this, typically on mobile devices, a native browser
- * scrollbar is presented. This scrollbar provides smooth scrolling for the
- * contents of the plot area, whereas the title, legend and unaffected axes
- * are fixed.
- *
- * Since v7.1.2, a scrollable plot area can be defined for either horizontal
- * or vertical scrolling, depending on whether the `minWidth` or `minHeight`
- * option is set.
- */
- scrollablePlotArea?: ChartScrollablePlotAreaOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
- * marker square when selecting (zooming in on) an area of the chart.
- */
- selectionMarkerFill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
- * to the outer chart area. Requires that backgroundColor be set. The shadow
- * can be an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|CSSObject);
- /**
- * (Highcharts, Gantt) Whether to show the axes initially. This only applies
- * to empty charts where series are added dynamically, as axes are
- * automatically added to cartesian series.
- */
- showAxes?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The distance between the outer
- * edge of the chart and the content, like title or legend, or axis title
- * and labels if present. The numbers in the array designate top, right,
- * bottom and left respectively. Use the options spacingTop, spacingRight,
- * spacingBottom and spacingLeft options for shorthand setting of one
- * option.
- */
- spacing?: Array<number>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The space between the bottom
- * edge of the chart and the content (plot area, axis title and labels,
- * title, subtitle or legend in top position).
- */
- spacingBottom?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The space between the left edge
- * of the chart and the content (plot area, axis title and labels, title,
- * subtitle or legend in top position).
- */
- spacingLeft?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The space between the right edge
- * of the chart and the content (plot area, axis title and labels, title,
- * subtitle or legend in top position).
- */
- spacingRight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The space between the top edge
- * of the chart and the content (plot area, axis title and labels, title,
- * subtitle or legend in top position).
- */
- spacingTop?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Additional CSS styles to apply
- * inline to the container `div`. Note that since the default font styles
- * are applied in the renderer, it is ignorant of the individual chart
- * options and must be set globally.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply styled mode.
- * When in styled mode, no presentational attributes or CSS are applied to
- * the chart SVG. Instead, CSS rules are required to style the chart. The
- * default style sheet is available from
- * `https://code.highcharts.com/css/highcharts.css`.
- */
- styledMode?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The default series type for the
- * chart. Can be any of the chart types listed under plotOptions and series
- * or can be a series provided by an additional module.
- *
- * In TypeScript this option has no effect in sense of typing and instead
- * the `type` option must always be set in the series.
- */
- type?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An explicit width for the chart.
- * By default (when `null`) the width is calculated from the offset width of
- * the containing element.
- */
- width?: (number|string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set a key to hold when dragging
- * to zoom the chart. This is useful to avoid zooming while moving points.
- * Should be set different than chart.panKey.
- */
- zoomKey?: OptionsZoomKeyValue;
- /**
- * (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
- * zoom by dragging the mouse. Can be one of `x`, `y` or `xy`.
- */
- zoomType?: OptionsZoomTypeValue;
- }
- /**
- * (Highcharts, Highstock, Gantt) Allow panning in a chart. Best used with
- * panKey to combine zooming and panning.
- *
- * On touch devices, when the tooltip.followTouchMove option is `true`
- * (default), panning requires two fingers. To allow panning with one finger,
- * set `followTouchMove` to `false`.
- */
- export interface ChartPanningOptions {
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable chart panning.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
- * pan the chart. Can be one of `x`, `y`, or `xy`.
- */
- type?: OptionsTypeValue;
- }
- /**
- * (Highcharts) Event handlers for the axis.
- */
- export interface ChartParallelAxesEventsOptions {
- /**
- * (Highcharts, Gantt) An event fired after the breaks have rendered.
- */
- afterBreaks?: AxisEventCallbackFunction;
- /**
- * (Highcharts) As opposed to the `setExtremes` event, this event fires
- * after the final min and max values are computed and corrected for
- * `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Gantt) An event fired when a break from this axis occurs on
- * a point.
- */
- pointBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
- * break from this axis.
- */
- pointInBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts) Fires when the minimum and maximum is set for the axis,
- * either by calling the `.setExtremes()` method or by selecting an area in
- * the chart. One parameter, `event`, is passed to the function, containing
- * common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface ChartParallelAxesGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
- * over labels options.
- */
- export interface ChartParallelAxesLabelsLevelsOptions {
- /**
- * (Gantt) Specify the level which the options within this object applies
- * to.
- */
- level?: number;
- style?: CSSObject;
- }
- /**
- * (Highcharts) The axis labels show the number or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
- * `tickInterval` and `step` is set to 1.
- */
- export interface ChartParallelAxesLabelsOptions {
- /**
- * (Highcharts) What part of the string the given position is anchored to.
- * Can be one of `"left"`, `"center"` or `"right"`. The exact position also
- * depends on the `labels.x` setting.
- *
- * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
- * two labels have additional option `"auto"` for automatic horizontal and
- * vertical alignment.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts) Angular gauges and solid gauges only. The label's pixel
- * distance from the perimeter of the plot area.
- *
- * Since v7.1.2: If it's a percentage string, it is interpreted the same as
- * series.radius, so label can be aligned under the gauge's shape.
- */
- distance?: (number|string);
- /**
- * (Highcharts) Enable or disable the axis labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts) A format string for the axis label.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the label. The value
- * is given by `this.value`. Additional properties for `this` are `axis`,
- * `chart`, `isFirst` and `isLast`. The value of the default label formatter
- * can be retrieved by calling `this.axis.defaultLabelFormatter.call(this)`
- * within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Gantt) Set options on specific levels in a tree grid axis. Takes
- * precedence over labels options.
- */
- levels?: Array<ChartParallelAxesLabelsLevelsOptions>;
- /**
- * (Highcharts) How to handle overflowing labels on horizontal axis. If set
- * to `"allow"`, it will not be aligned at all. By default it `"justify"`
- * labels inside the chart area. If there is room to move it, it will be
- * aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highcharts) Horizontal axes only. The number of lines to spread the
- * labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highcharts) To show only every _n_'th label on the axis, set the step to
- * _n_. Setting the step to 2 shows every other label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
- * prevent wrapping of category labels. Use `textOverflow: 'none'` to
- * prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The symbol for the collapse and expand icon in a treegrid.
- */
- symbol?: ChartParallelAxesLabelsSymbolOptions;
- /**
- * (Highcharts) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) The x position offset of all labels relative to the tick
- * positions on the axis. Defaults to -15 for left axis, 15 for right axis.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of all labels relative to the tick
- * positions on the axis. For polar and radial axis consider the use of the
- * distance option.
- */
- y?: number;
- /**
- * (Highcharts) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Gantt) The symbol for the collapse and expand icon in a treegrid.
- */
- export interface ChartParallelAxesLabelsSymbolOptions {
- height?: number;
- padding?: number;
- /**
- * (Gantt) The symbol type. Points to a definition function in the
- * `Highcharts.Renderer.symbols` collection.
- */
- type?: SymbolKeyValue;
- width?: number;
- x?: number;
- y?: number;
- }
- /**
- * (Highcharts) Common options for all yAxes rendered in a parallel coordinates
- * plot. This feature requires `modules/parallel-coordinates.js`.
- *
- * The default options are: (see online documentation for example)
- */
- export interface ChartParallelAxesOptions {
- /**
- * (Highcharts) Accessibility options for an axis. Requires the
- * accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
- * integers, like persons or hits on a web page, decimals should be avoided
- * in the labels.
- */
- allowDecimals?: boolean;
- /**
- * (Highcharts, Gantt) If categories are present for the xAxis, names are
- * used instead of numbers for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- *
- * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
- */
- categories?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highcharts) A class name that opens for styling the axis by CSS,
- * especially in Highcharts styled mode. The class name is applied to group
- * elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Highcharts) Configure a crosshair that follows either the mouse pointer
- * or the hovered point.
- *
- * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
- * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
- */
- crosshair?: (boolean|AxisCrosshairOptions);
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations
- * used for each unit. For intermediate values, different units may be used,
- * for example the `day` unit can be used on midnight and `hour` unit be
- * used for intermediate values on the same axis. For grid axes (like in
- * Gantt charts), it is possible to declare as a list to provide different
- * formats depending on available space. For an overview of the replacement
- * codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
- /**
- * (Highcharts) Whether to force the axis to end on a tick. Use this option
- * with the `maxPadding` option to control the axis end.
- *
- * This option is always disabled, when panning type is either `y` or `xy`.
- */
- endOnTick?: boolean;
- /**
- * (Highcharts) Event handlers for the axis.
- */
- events?: ChartParallelAxesEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: ChartParallelAxesGridOptions;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
- * interpreted as pixels.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the total plot height.
- */
- height?: (number|string);
- /**
- * (Highcharts) The axis labels show the number or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating
- * data if `tickInterval` and `step` is set to 1.
- */
- labels?: ChartParallelAxesLabelsOptions;
- /**
- * (Highcharts, Highstock) The left position as the horizontal axis. If it's
- * a number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the plot width, offset from plot area left.
- */
- left?: (number|string);
- /**
- * (Highcharts) The color of the line marking the axis itself.
- *
- * In styled mode, the line stroke is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineColor?: ColorType;
- /**
- * (Highcharts) The width of the line marking the axis itself.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
- * linked to. When an axis is linked to a master axis, it will take the same
- * extremes as the master, but as assigned by min or max or by setExtremes.
- * It can be used to show additional info, or to ease reading the chart by
- * duplicating the scales.
- */
- linkedTo?: number;
- /**
- * (Highcharts) If there are multiple axes on the same side of the chart,
- * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
- * horizontal axes.
- */
- margin?: number;
- /**
- * (Highcharts) The maximum value of the axis. If `null`, the max value is
- * automatically calculated.
- *
- * If the endOnTick option is true, the `max` value might be rounded up.
- *
- * If a tickAmount is set, the axis may be extended beyond the set max in
- * order to reach the given number of ticks. The same may happen in a chart
- * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
- * is applied internally.
- */
- max?: (number|null);
- /**
- * (Highstock) Maximal size of a resizable axis. Could be set as a percent
- * of plot area or pixel size.
- */
- maxLength?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the highest data value to appear on
- * the edge of the plot area. When the axis' `max` option is set or a max
- * extreme is set using `axis.setExtremes()`, the maxPadding will be
- * ignored.
- *
- * Also the `softThreshold` option takes precedence over `maxPadding`, so if
- * the data is tangent to the threshold, `maxPadding` may not apply unless
- * `softThreshold` is set to false.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) Maximum range which can be set using the navigator's
- * handles. Opposite of xAxis.minRange.
- */
- maxRange?: number;
- /**
- * (Highcharts) The minimum value of the axis. If `null` the min value is
- * automatically calculated.
- *
- * If the startOnTick option is true (default), the `min` value might be
- * rounded down.
- *
- * The automatically calculated minimum value is also affected by floor,
- * softMin, minPadding, minRange as well as series.threshold and
- * series.softThreshold.
- */
- min?: (number|null);
- /**
- * (Highstock) Minimal size of a resizable axis. Could be set as a percent
- * of plot area or pixel size.
- */
- minLength?: (number|string);
- /**
- * (Highcharts) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highcharts) Specific tick interval in axis units for the minor ticks. On
- * a linear axis, if `"auto"`, the minor tick interval is calculated as a
- * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
- * shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highcharts) The pixel length of the minor tick marks.
- */
- minorTickLength?: number;
- /**
- * (Highcharts) The position of the minor tick marks relative to the axis
- * line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
- * set, the tick interval is calculated as a fifth of the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highcharts) The pixel width of the minor tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the lowest data value to appear on the
- * edge of the plot area. When the axis' `min` option is set or a max
- * extreme is set using `axis.setExtremes()`, the maxPadding will be
- * ignored.
- *
- * Also the `softThreshold` option takes precedence over `minPadding`, so if
- * the data is tangent to the threshold, `minPadding` may not apply unless
- * `softThreshold` is set to false.
- */
- minPadding?: number;
- /**
- * (Highcharts) The minimum range to display on this axis. The entire axis
- * will not be allowed to span over a smaller interval than this. For
- * example, for a datetime axis the main unit is milliseconds. If minRange
- * is set to 3600000, you can't zoom in more than to one hour.
- *
- * The default minRange for the x axis is five times the smallest interval
- * between any of the data points.
- *
- * On a logarithmic axis, the unit for the minimum range is the power. So a
- * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
- * 1000-10000 etc.
- *
- * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
- * settings also affect how the extremes of the axis are computed.
- */
- minRange?: number;
- /**
- * (Highcharts) The minimum tick interval allowed in axis values. For
- * example on zooming in on an axis with daily data, this can be used to
- * prevent the axis from showing hours. Defaults to the closest distance
- * between two points on the axis.
- */
- minTickInterval?: number;
- /**
- * (Highcharts) The distance in pixels from the plot area to the axis line.
- * A positive offset moves the axis with it's line, labels and ticks away
- * from the plot area. This is typically used when two or more axes are
- * displayed on the same side of the plot. With multiple axes the offset is
- * dynamically adjusted to avoid collision, this can be overridden by
- * setting offset explicitly.
- */
- offset?: number;
- /**
- * (Highstock, Highcharts, Gantt) Whether to display the axis on the
- * opposite side of the normal. The normal is on the left side for vertical
- * axes and bottom for horizontal, so the opposite sides will be right and
- * top respectively. This is typically used with dual or multiple axes.
- */
- opposite?: boolean;
- /**
- * (Highcharts) Refers to the index in the panes array. Used for circular
- * gauges and polar charts. When the option is not set then first pane will
- * be used.
- */
- pane?: number;
- /**
- * (Highstock) The zoomed range to display when only defining one or none of
- * `min` or `max`. For example, to show the latest month, a range of one
- * month can be set.
- */
- range?: number;
- /**
- * (Highstock) Options for axis resizing. It adds a thick line between panes
- * which the user can drag in order to resize the panes.
- */
- resize?: ChartParallelAxesResizeOptions;
- /**
- * (Highcharts) Whether to reverse the axis so that the highest number is
- * closest to the origin.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock) If `true`, the first series in a stack will be
- * drawn on top in a positive, non-reversed Y axis. If `false`, the first
- * series is in the base of the stack.
- */
- reversedStacks?: boolean;
- /**
- * (Highcharts) Whether to show the axis line and title when the axis has no
- * data.
- */
- showEmpty?: boolean;
- /**
- * (Highcharts) Whether to show the first tick label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- *
- * **Note**: The series.softThreshold option takes precedence over this
- * option.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- *
- * **Note**: The series.softThreshold option takes precedence over this
- * option.
- */
- softMin?: number;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
- * tick. Use this option with the `maxPadding` option to control the axis
- * start.
- *
- * This option is always disabled, when panning type is either `y` or `xy`.
- */
- startOnTick?: boolean;
- /**
- * (Gantt) For vertical axes only. Setting the static scale ensures that
- * each tick unit is translated into a fixed pixel height. For example,
- * setting the static scale to 24 results in each Y axis category taking up
- * 24 pixels, and the height of the chart adjusts. Adding or removing items
- * will make the chart resize.
- */
- staticScale?: number;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highcharts) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highcharts) The interval of the tick marks in axis units. When
- * `undefined`, the tick interval is computed to approximately follow the
- * tickPixelInterval on linear and datetime axes. On categorized axes, a
- * `undefined` tickInterval will default to 1, one category. Note that
- * datetime axes are based on milliseconds, so for example an interval of
- * one day is expressed as `24 * 3600 * 1000`.
- *
- * On logarithmic axes, the tickInterval is based on powers, so a
- * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
- * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
- * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
- * etc.
- *
- * If the tickInterval is too dense for labels to be drawn, Highcharts may
- * remove ticks.
- *
- * If the chart has multiple axes, the alignTicks option may interfere with
- * the `tickInterval` setting.
- */
- tickInterval?: number;
- /**
- * (Highcharts) The pixel length of the main tick marks.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highcharts) If tickInterval is `null` this option sets the approximate
- * pixel interval of the tick marks. Not applicable to categorized axis.
- *
- * The tick interval is also influenced by the minTickInterval option, that,
- * by default prevents ticks from being denser than the data points.
- */
- tickPixelInterval?: number;
- /**
- * (Highcharts) The position of the major tick marks relative to the axis
- * line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highcharts) A callback function returning array defining where the ticks
- * are laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval. The automatic tick positions are
- * accessible through `this.tickPositions` and can be modified by the
- * callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highcharts) An array defining where the ticks are laid out on the axis.
- * This overrides the default behaviour of tickPixelInterval and
- * tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
- */
- tickWidth?: number;
- /**
- * (Highcharts) Titles for yAxes are taken from xAxis.categories. All
- * options for `xAxis.labels` applies to parallel coordinates titles. For
- * example, to style categories, use xAxis.labels.style.
- */
- title?: ChartParallelAxesTitleOptions;
- /**
- * (Highcharts) Parallel coordinates only. Format that will be used for
- * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
- * If not set, `{point.formattedValue}` will use other options, in this
- * order:
- *
- * 1. yAxis.labels.format will be used if set
- *
- * 2. If yAxis is a category, then category name will be displayed
- *
- * 3. If yAxis is a datetime, then value will use the same format as yAxis
- * labels
- *
- * 4. If yAxis is linear/logarithmic type, then simple value will be used
- */
- tooltipValueFormat?: string;
- /**
- * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
- * it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the plot height, offset from plot area top.
- */
- top?: (number|string);
- /**
- * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
- * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
- * `treegrid` for Gantt charts, `linear` for other chart types.
- *
- * In a datetime axis, the numbers are given in milliseconds, and tick marks
- * are placed on appropriate values, like full hours or days. In a category
- * or treegrid axis, the point names of the chart's series are used for
- * categories, if a categories array is not defined.
- */
- type?: AxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
- * what time intervals the ticks are allowed to fall on. Each array item is
- * an array where the first value is the time unit and the second value
- * another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock) The width as the horizontal axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the total plot width.
- */
- width?: (number|string);
- /**
- * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
- * allows to disable zooming on an individual axis.
- */
- zoomEnabled?: boolean;
- }
- /**
- * (Highstock) Contains two arrays of axes that are controlled by control line
- * of the axis.
- */
- export interface ChartParallelAxesResizeControlledAxisOptions {
- /**
- * (Highstock) Array of axes that should move out of the way of resizing
- * being done for the current axis. If not set, the next axis will be used.
- */
- next?: Array<(number|string)>;
- /**
- * (Highstock) Array of axes that should move with the current axis while
- * resizing.
- */
- prev?: Array<(number|string)>;
- }
- /**
- * (Highstock) Options for axis resizing. It adds a thick line between panes
- * which the user can drag in order to resize the panes.
- */
- export interface ChartParallelAxesResizeOptions {
- /**
- * (Highstock) Contains two arrays of axes that are controlled by control
- * line of the axis.
- */
- controlledAxis?: ChartParallelAxesResizeControlledAxisOptions;
- /**
- * (Highstock) Cursor style for the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- cursor?: string;
- /**
- * (Highstock) Enable or disable resize by drag for the axis.
- */
- enabled?: boolean;
- /**
- * (Highstock) Color of the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Dash style of the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- lineDashStyle?: string;
- /**
- * (Highstock) Width of the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- lineWidth?: number;
- /**
- * (Highstock) Horizontal offset of the control line.
- */
- x?: number;
- /**
- * (Highstock) Vertical offset of the control line.
- */
- y?: number;
- }
- /**
- * (Highcharts) Titles for yAxes are taken from xAxis.categories. All options
- * for `xAxis.labels` applies to parallel coordinates titles. For example, to
- * style categories, use xAxis.labels.style.
- */
- export interface ChartParallelAxesTitleOptions {
- reserveSpace?: boolean;
- text?: string;
- /**
- * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
- * `"center"`. Default alignment depends on the title.align:
- *
- * Horizontal axes:
- *
- * - for `align` = `"low"`, `textAlign` is set to `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"`, `textAlign` is set to `right`
- *
- * Vertical axes:
- *
- * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
- * `right`
- *
- * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
- * `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
- * `left`
- *
- * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
- * `right`
- */
- textAlign?: AlignValue;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
- * selection zoom, allowing the user to reset zoom.
- */
- export interface ChartResetZoomButtonOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
- */
- position?: (AlignObject|ChartResetZoomButtonPositionOptions);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) What frame the button placement
- * should be related to. Can be either `plotBox` or `spacingBox`.
- */
- relativeTo?: ButtonRelativeToValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for
- * the button. The object takes SVG attributes like `fill`, `stroke`,
- * `stroke-width` or `r`, the border radius. The theme also supports
- * `style`, a collection of CSS properties for the text. Equivalent
- * attributes for the hover state are given in `theme.states.hover`.
- */
- theme?: SVGAttributes;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
- */
- export interface ChartResetZoomButtonPositionOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
- * button.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * button.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal offset of the
- * button.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
- * button.
- */
- y?: number;
- }
- /**
- * (Highcharts, Gantt) Options for a scrollable plot area. This feature provides
- * a minimum size for the plot area of the chart. If the size gets smaller than
- * this, typically on mobile devices, a native browser scrollbar is presented.
- * This scrollbar provides smooth scrolling for the contents of the plot area,
- * whereas the title, legend and unaffected axes are fixed.
- *
- * Since v7.1.2, a scrollable plot area can be defined for either horizontal or
- * vertical scrolling, depending on whether the `minWidth` or `minHeight` option
- * is set.
- */
- export interface ChartScrollablePlotAreaOptions {
- /**
- * (Highcharts, Gantt) The minimum height for the plot area. If it gets
- * smaller than this, the plot area will become scrollable.
- */
- minHeight?: number;
- /**
- * (Highcharts, Gantt) The minimum width for the plot area. If it gets
- * smaller than this, the plot area will become scrollable.
- */
- minWidth?: number;
- /**
- * (Highcharts, Gantt) The opacity of mask applied on one of the sides of
- * the plot area.
- */
- opacity?: number;
- /**
- * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
- * area. Ranges from 0 to 1, where 0 aligns the plot area to the left and 1
- * aligns it to the right. Typically we would use 1 if the chart has right
- * aligned Y axes.
- */
- scrollPositionX?: number;
- /**
- * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
- * area. Ranges from 0 to 1, where 0 aligns the plot area to the top and 1
- * aligns it to the bottom.
- */
- scrollPositionY?: number;
- }
- /**
- * Axis context of the selection.
- */
- export interface ChartSelectionAxisContextObject {
- /**
- * The selected Axis.
- */
- axis: Axis;
- /**
- * The maximum axis value, either automatic or set manually.
- */
- max: number;
- /**
- * The minimum axis value, either automatic or set manually.
- */
- min: number;
- }
- /**
- * The primary axes are `xAxis[0]` and `yAxis[0]`. Remember the unit of a
- * datetime axis is milliseconds since 1970-01-01 00:00:00.
- */
- export interface ChartSelectionContextObject extends Event {
- /**
- * Arrays containing the axes of each dimension and each axis' min and max
- * values.
- */
- xAxis: Array<ChartSelectionAxisContextObject>;
- /**
- * Arrays containing the axes of each dimension and each axis' min and max
- * values.
- */
- yAxis: Array<ChartSelectionAxisContextObject>;
- }
- /**
- * Interface description for a class.
- */
- export interface Class<T> extends Function {
- /**
- * Class costructor.
- *
- * @param args
- * Constructor arguments.
- *
- * @return Class instance.
- */
- new(...args: Array<any>): T;
- }
- /**
- * (Gantt) An object defining mouse events for the plot line. Supported
- * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface ColorAxisCurrentDateIndicatorEventsOptions {
- /**
- * (Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse out event on the corner of a plot band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Gantt) Text labels for the plot bands
- */
- export interface ColorAxisCurrentDateIndicatorLabelOptions {
- /**
- * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
- * or "right".
- */
- align?: AlignValue;
- /**
- * (Gantt) Format of the label. This options is passed as the fist argument
- * to dateFormat function.
- */
- format?: string;
- /**
- * (Gantt) Callback JavaScript function to format the label. Useful
- * properties like the value of plot line or the range of plot band (`from`
- * & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
- * horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The text itself. A subset of HTML is supported.
- */
- text?: string;
- /**
- * (Gantt) The text alignment for the label. While `align` determines where
- * the texts anchor point is placed within the plot band, `textAlign`
- * determines how the text is aligned against its anchor point. Possible
- * values are "left", "center" and "right". Defaults to the same as the
- * `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Gantt) Vertical alignment of the label relative to the plot line. Can be
- * one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Horizontal position relative the alignment. Default varies by
- * orientation.
- */
- x?: number;
- /**
- * (Gantt) Vertical position of the text baseline relative to the alignment.
- * Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for the
- * choropleth map. If none given, the color axis is scalar and values are
- * distributed as a gradient between the minimum and maximum colors.
- */
- export interface ColorAxisDataClassesOptions {
- /**
- * (Highcharts, Highstock, Highmaps) The color of each data class. If not
- * set, the color is pulled from the global or chart-specific colors array.
- * In styled mode, this option is ignored. Instead, use colors defined in
- * CSS.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) The start of the value range that the
- * data class represents, relating to the point value.
- *
- * The range of each `dataClass` is closed in both ends, but can be
- * overridden by the next `dataClass`.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The name of the data class as it
- * appears in the legend. If no name is given, it is automatically created
- * based on the `from` and `to` values. For full programmatic control,
- * legend.labelFormatter can be used. In the formatter, `this.from` and
- * `this.to` can be accessed.
- */
- name?: string;
- /**
- * (Highcharts, Highstock, Highmaps) The end of the value range that the
- * data class represents, relating to the point value.
- *
- * The range of each `dataClass` is closed in both ends, but can be
- * overridden by the next `dataClass`.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
- */
- export interface ColorAxisEventsOptions {
- /**
- * (Highcharts, Highstock, Highmaps) As opposed to the `setExtremes` event,
- * this event fires after the final min and max values are computed and
- * corrected for `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps) Fires when the legend item belonging to
- * the colorAxis is clicked. One parameter, `event`, is passed to the
- * function.
- */
- legendItemClick?: Function;
- /**
- * (Highcharts, Highstock, Highmaps) Fires when the minimum and maximum is
- * set for the axis, either by calling the `.setExtremes()` method or by
- * selecting an area in the chart. One parameter, `event`, is passed to the
- * function, containing common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface ColorAxisGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps) The axis labels show the number for each
- * tick.
- *
- * For more live examples on label options, see xAxis.labels in the Highcharts
- * API.
- */
- export interface ColorAxisLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps) What part of the string the given
- * position is anchored to. If `left`, the left side of the string is at the
- * axis position. Can be one of `"left"`, `"center"` or `"right"`. Defaults
- * to an intelligent guess based on which side of the chart the axis is on
- * and the rotation of the label.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
- * the perimeter of the plot area.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Enable or disable the axis labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) A format string for the axis label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps) Callback JavaScript function to format
- * the label. The value is given by `this.value`. Additional properties for
- * `this` are `axis`, `chart`, `isFirst` and `isLast`. The value of the
- * default label formatter can be retrieved by calling
- * `this.axis.defaultLabelFormatter.call(this)` within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Highcharts, Highstock, Highmaps) How to handle overflowing labels on
- * horizontal color axis. If set to `"allow"`, it will not be aligned at
- * all. By default it `"justify"` labels inside the chart area. If there is
- * room to move it, it will be aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Horizontal axes only. The number of
- * lines to spread the labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highcharts, Highstock, Highmaps) To show only every _n_'th label on the
- * axis, set the step to _n_. Setting the step to 2 shows every other label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highcharts, Highstock, Highmaps) CSS styles for the label. Use
- * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
- * `textOverflow: 'none'` to prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to use HTML to render the
- * labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) The x position offset of all labels
- * relative to the tick positions on the axis.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The y position offset of all labels
- * relative to the tick positions on the axis. The default makes it adapt to
- * the font size of the bottom axis.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
- * color axis will appear as a gradient or as separate items inside the legend,
- * depending on whether the axis is scalar or based on data classes.
- *
- * For supported color formats, see the docs article about colors.
- *
- * A scalar color axis is represented by a gradient. The colors either range
- * between the minColor and the maxColor, or for more fine grained control the
- * colors can be defined in stops. Often times, the color axis needs to be
- * adjusted to get the right color spread for the data. In addition to stops,
- * consider using a logarithmic axis type, or setting min and max to avoid the
- * colors being determined by outliers.
- *
- * When dataClasses are used, the ranges are subdivided into separate classes
- * like categories based on their values. This can be used for ranges between
- * two values, but also for a true category. However, when your data is
- * categorized, it may be as convenient to add each category to a separate
- * series.
- *
- * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
- * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series types.
- *
- * Since v7.2.0 `colorAxis` can also be an array of options objects.
- *
- * See the Axis object for programmatic access to the axis.
- */
- export interface ColorAxisOptions {
- /**
- * (Highcharts, Highstock, Highmaps) Accessibility options for an axis.
- * Requires the accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to allow decimals on the color
- * axis.
- */
- allowDecimals?: boolean;
- /**
- * (Highcharts) In a polar chart, this is the angle of the Y axis in
- * degrees, where 0 is up and 90 is right. The angle determines the position
- * of the axis line and the labels, though the coordinate system is
- * unaffected. Since v8.0.0 this option is also applicable for X axis
- * (inverted polar).
- */
- angle?: number;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highcharts, Highstock, Highmaps) A class name that opens for styling the
- * axis by CSS, especially in Highcharts styled mode. The class name is
- * applied to group elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Gantt) Show an indicator on the axis for the current date and time. Can
- * be a boolean or a configuration object similar to xAxis.plotLines.
- */
- currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
- /**
- * (Highcharts, Highstock, Highmaps) Determines how to set each data class'
- * color if no individual color is set. The default value, `tween`, computes
- * intermediate colors between `minColor` and `maxColor`. The other possible
- * value, `category`, pulls colors from the global or chart specific colors
- * array.
- */
- dataClassColor?: OptionsDataClassColorValue;
- /**
- * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for
- * the choropleth map. If none given, the color axis is scalar and values
- * are distributed as a gradient between the minimum and maximum colors.
- */
- dataClasses?: Array<ColorAxisDataClassesOptions>;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to force the axis to end on a
- * tick. Use this option with the maxPadding option to control the axis end.
- */
- endOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
- */
- events?: ColorAxisEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: ColorAxisGridOptions;
- /**
- * (Highcharts, Highstock, Highmaps) Color of the grid lines extending from
- * the axis across the gradient.
- */
- gridLineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) The dash or dot style of the grid
- * lines. For possible values, see this demonstration.
- */
- gridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Polar charts only. Whether the grid lines should draw as a
- * polygon with straight lines between categories, or as circles. Can be
- * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
- * for X axis (inverted polar).
- */
- gridLineInterpolation?: OptionsGridLineInterpolationValue;
- /**
- * (Highcharts, Highstock, Highmaps) The width of the grid lines extending
- * from the axis across the gradient of a scalar color axis.
- */
- gridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) An id for the axis. This can be used
- * after render time to get a pointer to the axis object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Highmaps) The axis labels show the number for
- * each tick.
- *
- * For more live examples on label options, see xAxis.labels in the
- * Highcharts API.
- */
- labels?: ColorAxisLabelsOptions;
- /**
- * (Highcharts, Highstock, Highmaps) The layout of the color axis. Can be
- * `'horizontal'` or `'vertical'`. If none given, the color axis has the
- * same layout as the legend.
- */
- layout?: (string|undefined);
- /**
- * (Highcharts, Highstock, Highmaps) The color of the line marking the axis
- * itself.
- *
- * In styled mode, the line stroke is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps) If there are multiple axes on the same
- * side of the chart, the pixel margin between the axes. Defaults to 0 on
- * vertical axes, 15 on horizontal axes.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The triangular marker on a scalar color
- * axis that points to the value of the hovered area. To disable the marker,
- * set `marker: null`.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps) The maximum value of the axis in terms
- * of map point values. If `null`, the max value is automatically
- * calculated. If the `endOnTick` option is true, the max value might be
- * rounded up.
- */
- max?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The color to represent the maximum of
- * the color axis. Unless dataClasses or stops are set, the gradient ends at
- * this value.
- *
- * If dataClasses are set, the color is based on minColor and maxColor
- * unless a color is set for each data class, or the dataClassColor is set.
- */
- maxColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) Padding of the max value relative to
- * the length of the axis. A padding of 0.05 will make a 100px axis 5px
- * longer.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) Maximum range which can be set using the navigator's
- * handles. Opposite of xAxis.minRange.
- */
- maxRange?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The minimum value of the axis in terms
- * of map point values. If `null`, the min value is automatically
- * calculated. If the `startOnTick` option is true, the min value might be
- * rounded down.
- */
- min?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The color to represent the minimum of
- * the color axis. Unless dataClasses or stops are set, the gradient starts
- * at this value.
- *
- * If dataClasses are set, the color is based on minColor and maxColor
- * unless a color is set for each data class, or the dataClassColor is set.
- */
- minColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) Color of the minor, secondary grid
- * lines.
- *
- * In styled mode, the stroke width is given in the
- * `.highcharts-minor-grid-line` class.
- */
- minorGridLineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps) The dash or dot style of the minor grid
- * lines. For possible values, see this demonstration.
- */
- minorGridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps) Width of the minor, secondary grid
- * lines.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- minorGridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps) Specific tick interval in axis units
- * for the minor ticks. On a linear axis, if `"auto"`, the minor tick
- * interval is calculated as a fifth of the tickInterval. If `null` or
- * `undefined`, minor ticks are not shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highcharts, Highstock, Highmaps) The pixel length of the minor tick
- * marks.
- */
- minorTickLength?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The position of the minor tick marks
- * relative to the axis line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highcharts, Highstock, Highmaps) Enable or disable minor ticks. Unless
- * minorTickInterval is set, the tick interval is calculated as a fifth of
- * the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) The pixel width of the minor tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Padding of the min value relative to
- * the length of the axis. A padding of 0.05 will make a 100px axis 5px
- * longer.
- */
- minPadding?: number;
- /**
- * (Highstock) In an ordinal axis, the points are equally spaced in the
- * chart regardless of the actual time or x distance between them. This
- * means that missing data periods (e.g. nights or weekends for a stock
- * chart) will not take up space in the chart. Having `ordinal: false` will
- * show any gaps created by the `gapSize` setting proportionate to their
- * duration.
- *
- * In stock charts the X axis is ordinal by default, unless the boost module
- * is used and at least one of the series' data length exceeds the
- * boostThreshold.
- */
- ordinal?: boolean;
- /**
- * (Highstock) Additional range on the right side of the xAxis. Works
- * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
- * set for both main `xAxis` and the navigator's `xAxis`.
- */
- overscroll?: number;
- /**
- * (Highstock) The zoomed range to display when only defining one or none of
- * `min` or `max`. For example, to show the latest month, a range of one
- * month can be set.
- */
- range?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to reverse the axis so that the
- * highest number is closest to the origin. Defaults to `false` in a
- * horizontal legend and `true` in a vertical legend, where the smallest
- * value starts on top.
- */
- reversed?: boolean;
- /**
- * (Highstock) An optional scrollbar to display on the X axis in response to
- * limiting the minimum and maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are
- * replaced by the classes `.highcharts-scrollbar-thumb`,
- * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
- * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
- */
- scrollbar?: ColorAxisScrollbarOptions;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to show the first tick label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to display the colorAxis in the
- * legend.
- */
- showInLegend?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- */
- softMin?: number;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to force the axis to start on a
- * tick. Use this option with the `maxPadding` option to control the axis
- * start.
- */
- startOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Color stops for the gradient of a
- * scalar color axis. Use this in cases where a linear gradient between a
- * `minColor` and `maxColor` is not sufficient. The stops is an array of
- * tuples, where the first item is a float between 0 and 1 assigning the
- * relative position in the gradient, and the second item is the color.
- */
- stops?: Array<[number, ColorString]>;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps) The interval of the tick marks in axis
- * units. When `null`, the tick interval is computed to approximately follow
- * the `tickPixelInterval`.
- */
- tickInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The pixel length of the main tick marks
- * on the color axis.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highcharts, Highstock, Highmaps) If tickInterval is `null` this option
- * sets the approximate pixel interval of the tick marks.
- */
- tickPixelInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The position of the major tick marks
- * relative to the axis line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highcharts, Highstock, Highmaps) A callback function returning array
- * defining where the ticks are laid out on the axis. This overrides the
- * default behaviour of tickPixelInterval and tickInterval. The automatic
- * tick positions are accessible through `this.tickPositions` and can be
- * modified by the callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps) An array defining where the ticks are
- * laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highcharts, Highstock, Highmaps) The pixel width of the major tick
- * marks. Defaults to 0 on category axes, otherwise 1.
- *
- * In styled mode, the stroke width is given in the `.highcharts-tick`
- * class, but in order for the element to be generated on category axes, the
- * option must be explicitly set to 1.
- */
- tickWidth?: (number|undefined);
- /**
- * (Highcharts, Highstock, Highmaps) The type of interpolation to use for
- * the color axis. Can be `linear` or `logarithmic`.
- */
- type?: ColorAxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
- * what time intervals the ticks are allowed to fall on. Each array item is
- * an array where the first value is the time unit and the second value
- * another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- }
- /**
- * (Highstock) An optional scrollbar to display on the X axis in response to
- * limiting the minimum and maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are replaced
- * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
- * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
- * `.highcharts-scrollbar-track`.
- */
- export interface ColorAxisScrollbarOptions {
- /**
- * (Highstock) The background color of the scrollbar itself.
- */
- barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the scrollbar's border.
- */
- barBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border rounding radius of the bar.
- */
- barBorderRadius?: number;
- /**
- * (Highstock) The width of the bar's border.
- */
- barBorderWidth?: number;
- /**
- * (Highstock) The color of the small arrow inside the scrollbar buttons.
- */
- buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of scrollbar buttons.
- */
- buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar buttons.
- */
- buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the scrollbar buttons.
- */
- buttonBorderRadius?: number;
- /**
- * (Highstock) The border width of the scrollbar buttons.
- */
- buttonBorderWidth?: number;
- /**
- * (Highstock) Enable or disable the scrollbar.
- */
- enabled?: boolean;
- /**
- * (Highstock) The height of the scrollbar. The height also applies to the
- * width of the scroll arrows so that they are always squares. Defaults to
- * 20 for touch devices and 14 for mouse devices.
- */
- height?: number;
- /**
- * (Highstock) Whether to redraw the main chart as the scrollbar or the
- * navigator zoomed window is moved. Defaults to `true` for modern browsers
- * and `false` for legacy IE browsers as well as mobile devices.
- */
- liveRedraw?: boolean;
- /**
- * (Highstock) The margin between the scrollbar and its axis when the
- * scrollbar is applied directly to an axis.
- */
- margin?: number;
- /**
- * (Highstock) The minimum width of the scrollbar.
- */
- minWidth?: number;
- /**
- * (Highstock) The color of the small rifles in the middle of the scrollbar.
- */
- rifleColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Whether to show or hide the scrollbar when the scrolled
- * content is zoomed out to it full extent.
- */
- showFull?: boolean;
- step?: number;
- /**
- * (Highstock) The color of the track background.
- */
- trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar track.
- */
- trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the border of the scrollbar track.
- */
- trackBorderRadius?: number;
- /**
- * (Highstock) The width of the border of the scrollbar track.
- */
- trackBorderWidth?: number;
- /**
- * (Highstock) The z index of the scrollbar group.
- */
- zIndex?: number;
- }
- export interface ConnectorsAnimationOptionsObject {
- reversed?: boolean;
- }
- /**
- * (Gantt) Marker options specific to the end markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- export interface ConnectorsEndMarkerOptions {
- /**
- * (Gantt) Horizontal alignment of the markers relative to the points.
- */
- align?: (string|AlignValue);
- /**
- * (Gantt) Set the color of the connector markers. By default this is the
- * same as the connector color.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Gantt) Enable markers for the connectors.
- */
- enabled?: boolean;
- /**
- * (Gantt) Set the height of the connector markers. If not supplied, this is
- * inferred from the marker radius.
- */
- height?: number;
- /**
- * (Gantt) Whether or not to draw the markers inside the points.
- */
- inside?: boolean;
- /**
- * (Gantt) Set the line/border color of the connector markers. By default
- * this is the same as the marker color.
- */
- lineColor?: ColorString;
- /**
- * (Gantt) Set the line/border width of the pathfinder markers.
- */
- lineWidth?: number;
- /**
- * (Gantt) Set the radius of the connector markers. The default is
- * automatically computed based on the algorithmMargin setting.
- *
- * Setting marker.width and marker.height will override this setting.
- */
- radius?: number;
- /**
- * (Gantt) Set the symbol of the connector end markers.
- */
- symbol?: string;
- /**
- * (Gantt) Vertical alignment of the markers relative to the points.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Set the width of the connector markers. If not supplied, this is
- * inferred from the marker radius.
- */
- width?: number;
- }
- /**
- * (Gantt) Marker options for this chart's Pathfinder connectors. Note that this
- * option is overridden by the `startMarker` and `endMarker` options.
- */
- export interface ConnectorsMarkerOptions {
- /**
- * (Gantt) Horizontal alignment of the markers relative to the points.
- */
- align?: AlignValue;
- /**
- * (Gantt) Set the color of the connector markers. By default this is the
- * same as the connector color.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Gantt) Enable markers for the connectors.
- */
- enabled?: boolean;
- /**
- * (Gantt) Set the height of the connector markers. If not supplied, this is
- * inferred from the marker radius.
- */
- height?: number;
- /**
- * (Gantt) Whether or not to draw the markers inside the points.
- */
- inside?: boolean;
- /**
- * (Gantt) Set the line/border color of the connector markers. By default
- * this is the same as the marker color.
- */
- lineColor?: ColorString;
- /**
- * (Gantt) Set the line/border width of the pathfinder markers.
- */
- lineWidth?: number;
- /**
- * (Gantt) Set the radius of the connector markers. The default is
- * automatically computed based on the algorithmMargin setting.
- *
- * Setting marker.width and marker.height will override this setting.
- */
- radius?: number;
- /**
- * (Gantt) Vertical alignment of the markers relative to the points.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Set the width of the connector markers. If not supplied, this is
- * inferred from the marker radius.
- */
- width?: number;
- }
- /**
- * (Gantt) The Pathfinder module allows you to define connections between any
- * two points, represented as lines - optionally with markers for the start
- * and/or end points. Multiple algorithms are available for calculating how the
- * connecting lines are drawn.
- *
- * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
- * charts, the connectors are used to draw dependencies between tasks.
- */
- export interface ConnectorsOptions {
- /**
- * (Gantt) Set the default pathfinder margin to use, in pixels. Some
- * Pathfinder algorithms attempt to avoid obstacles, such as other points in
- * the chart. These algorithms use this margin to determine how close lines
- * can be to an obstacle. The default is to compute this automatically from
- * the size of the obstacles in the chart.
- *
- * To draw connecting lines close to existing points, set this to a low
- * number. For more space around existing points, set this number higher.
- */
- algorithmMargin?: number;
- /**
- * (Gantt) Set the default dash style for this chart's connecting lines.
- */
- dashStyle?: string;
- /**
- * (Gantt) Enable connectors for this chart. Requires Highcharts Gantt.
- */
- enabled?: boolean;
- /**
- * (Gantt) Marker options specific to the end markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- endMarker?: ConnectorsEndMarkerOptions;
- /**
- * (Gantt) Set the default color for this chart's Pathfinder connecting
- * lines. Defaults to the color of the point being connected.
- */
- lineColor?: ColorString;
- /**
- * (Gantt) Set the default pixel width for this chart's Pathfinder
- * connecting lines.
- */
- lineWidth?: number;
- /**
- * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
- * this option is overridden by the `startMarker` and `endMarker` options.
- */
- marker?: ConnectorsMarkerOptions;
- /**
- * (Gantt) Marker options specific to the start markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- startMarker?: ConnectorsStartMarkerOptions;
- /**
- * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
- * possible to define your own algorithms by adding them to the
- * Highcharts.Pathfinder.prototype.algorithms object before the chart has
- * been created.
- *
- * The default algorithms are as follows:
- *
- * `straight`: Draws a straight line between the connecting points. Does not
- * avoid other points when drawing.
- *
- * `simpleConnect`: Finds a path between the points using right angles only.
- * Takes only starting/ending points into account, and will not avoid other
- * points.
- *
- * `fastAvoid`: Finds a path between the points using right angles only.
- * Will attempt to avoid other points, but its focus is performance over
- * accuracy. Works well with less dense datasets.
- *
- * Default value: `straight` is used as default for most series types, while
- * `simpleConnect` is used as default for Gantt series, to show dependencies
- * between points.
- */
- type?: PathfinderTypeValue;
- }
- /**
- * (Gantt) Marker options specific to the start markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- export interface ConnectorsStartMarkerOptions {
- /**
- * (Gantt) Horizontal alignment of the markers relative to the points.
- */
- align?: (string|AlignValue);
- /**
- * (Gantt) Set the color of the connector markers. By default this is the
- * same as the connector color.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Gantt) Enable markers for the connectors.
- */
- enabled?: boolean;
- fill?: string;
- /**
- * (Gantt) Set the height of the connector markers. If not supplied, this is
- * inferred from the marker radius.
- */
- height?: number;
- /**
- * (Gantt) Whether or not to draw the markers inside the points.
- */
- inside?: boolean;
- /**
- * (Gantt) Set the line/border color of the connector markers. By default
- * this is the same as the marker color.
- */
- lineColor?: ColorString;
- /**
- * (Gantt) Set the line/border width of the pathfinder markers.
- */
- lineWidth?: number;
- /**
- * (Gantt) Set the radius of the connector markers. The default is
- * automatically computed based on the algorithmMargin setting.
- *
- * Setting marker.width and marker.height will override this setting.
- */
- radius?: number;
- /**
- * (Gantt) Set the symbol of the connector start markers.
- */
- symbol?: string;
- /**
- * (Gantt) Vertical alignment of the markers relative to the points.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Set the width of the connector markers. If not supplied, this is
- * inferred from the marker radius.
- */
- width?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a credits
- * label in the lower right corner of the chart. This can be changed using these
- * options.
- */
- export interface CreditsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the credits
- * text.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for the credits label.
- */
- href?: string;
- /**
- * (Highmaps) Credits for map source to be concatenated with conventional
- * credit text. By default this is a format string that collects copyright
- * information from the map if available.
- */
- mapText?: string;
- /**
- * (Highmaps) Detailed credits for map source to be displayed on hover of
- * credits text. By default this is a format string that collects copyright
- * information from the map if available.
- */
- mapTextFull?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Position configuration for the
- * credits label.
- */
- position?: AlignObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the credits
- * label.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for the credits label.
- */
- text?: string;
- }
- /**
- * A style object with camel case property names to define visual appearance of
- * a SVG element or HTML element. The properties can be whatever styles are
- * supported on the given SVG or HTML element.
- */
- export interface CSSObject {
- [key: string]: (boolean|number|string|undefined);
- /**
- * Background style for the element.
- */
- background?: string;
- /**
- * Background color of the element.
- */
- backgroundColor?: ColorString;
- /**
- * Border style for the element.
- */
- border?: string;
- /**
- * Radius of the element border.
- */
- borderRadius?: number;
- /**
- * Color used in the element. The 'contrast' option is a Highcharts custom
- * property that results in black or white, depending on the background of
- * the element.
- */
- color?: ('contrast'|ColorString);
- /**
- * Style of the mouse cursor when resting over the element.
- */
- cursor?: CursorValue;
- /**
- * Font family of the element text. Multiple values have to be in decreasing
- * preference order and separated by comma.
- */
- fontFamily?: string;
- /**
- * Font size of the element text.
- */
- fontSize?: string;
- /**
- * Font weight of the element text.
- */
- fontWeight?: string;
- /**
- * Height of the element.
- */
- height?: number;
- /**
- * Width of the element border.
- */
- lineWidth?: number;
- /**
- * Opacity of the element.
- */
- opacity?: number;
- /**
- * Space around the element content.
- */
- padding?: string;
- /**
- * Behaviour of the element when the mouse cursor rests over it.
- */
- pointerEvents?: string;
- /**
- * Positioning of the element.
- */
- position?: string;
- /**
- * Alignment of the element text.
- */
- textAlign?: string;
- /**
- * Additional decoration of the element text.
- */
- textDecoration?: string;
- /**
- * Outline style of the element text.
- */
- textOutline?: string;
- /**
- * Line break style of the element text. Highcharts SVG elements support
- * `ellipsis` when a `width` is set.
- */
- textOverflow?: string;
- /**
- * Top spacing of the element relative to the parent element.
- */
- top?: string;
- /**
- * Animated transition of selected element properties.
- */
- transition?: string;
- /**
- * Line break style of the element text.
- */
- whiteSpace?: string;
- /**
- * Width of the element.
- */
- width?: number;
- }
- export interface DataGroupingInfoObject {
- length: number;
- options?: SeriesOptionsType;
- start: number;
- }
- /**
- * (Highstock) A custom data grouping object for each button.
- */
- export interface DataGroupingOptionsObject {
- /**
- * (Highstock) The method of approximation inside a group. When for example
- * 30 days are grouped into one month, this determines what value should
- * represent the group. Possible values are "average", "averages", "open",
- * "high", "low", "close" and "sum". For OHLC and candlestick series the
- * approximation is "ohlc" by default, which finds the open, high, low and
- * close values within all the grouped data. For ranges, the approximation
- * is "range", which finds the low and high values. For multi-dimensional
- * data, like ranges and OHLC, "averages" will compute the average for each
- * dimension.
- *
- * Custom aggregate methods can be added by assigning a callback function as
- * the approximation. This function takes a numeric array as the argument
- * and should return a single numeric value or `null`. Note that the numeric
- * array will never contain null values, only true numbers. Instead, if null
- * values are present in the raw data, the numeric array will have an
- * `.hasNulls` property set to `true`. For single-value data sets the data
- * is available in the first argument of the callback function. For OHLC
- * data sets, all the open values are in the first argument, all high values
- * in the second etc.
- *
- * Since v4.2.7, grouping meta data is available in the approximation
- * callback from `this.dataGroupInfo`. It can be used to extract information
- * from the raw data.
- *
- * Defaults to `average` for line-type series, `sum` for columns, `range`
- * for range series and `ohlc` for OHLC and candlestick.
- */
- approximation?: (string|DataGroupingApproximationValue|Function);
- /**
- * (Highstock) Datetime formats for the header of the tooltip in a stock
- * chart. The format can vary within a chart depending on the currently
- * selected time range and the current data grouping.
- *
- * The default formats are: (see online documentation for example)
- *
- * For each of these array definitions, the first item is the format used
- * when the active time span is one unit. For instance, if the current data
- * applies to one week, the first item of the week array is used. The second
- * and third items are used when the active time span is more than two
- * units. For instance, if the current data applies to two weeks, the second
- * and third item of the week array are used, and applied to the start and
- * end date of the time span.
- */
- dateTimeLabelFormats?: object;
- /**
- * (Highstock) Enable or disable data grouping.
- */
- enabled?: boolean;
- /**
- * (Highstock) When data grouping is forced, it runs no matter how small the
- * intervals are. This can be handy for example when the sum should be
- * calculated for values appearing at random times within each hour.
- */
- forced?: boolean;
- /**
- * (Highstock) By default only points within the visible range are grouped.
- * Enabling this option will force data grouping to calculate all grouped
- * points for a given dataset. That option prevents for example a column
- * series from calculating a grouped point partially. The effect is similar
- * to Series.getExtremesFromAll but does not affect yAxis extremes.
- */
- groupAll?: boolean;
- /**
- * (Highstock) The approximate pixel width of each group. If for example a
- * series with 30 points is displayed over a 600 pixel wide plot area, no
- * grouping is performed. If however the series contains so many points that
- * the spacing is less than the groupPixelWidth, Highcharts will try to
- * group it into appropriate groups so that each is more or less two pixels
- * wide. If multiple series with different group pixel widths are drawn on
- * the same x axis, all series will take the greatest width. For example,
- * line series have 2px default group width, while column series have 10px.
- * If combined, both the line and the column will have 10px by default.
- */
- groupPixelWidth?: number;
- /**
- * (Highstock) Normally, a group is indexed by the start of that group, so
- * for example when 30 daily values are grouped into one month, that month's
- * x value will be the 1st of the month. This apparently shifts the data to
- * the left. When the smoothed option is true, this is compensated for. The
- * data is shifted to the middle of the group, and min and max values are
- * preserved. Internally, this is used in the Navigator series.
- */
- smoothed?: boolean;
- /**
- * (Highstock) An array determining what time intervals the data is allowed
- * to be grouped to. Each array item is an array where the first value is
- * the time unit and the second value another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- }
- /**
- * (Highcharts, Highstock, Gantt) A declarative filter to control of which data
- * labels to display. The declarative filter is designed for use when callback
- * functions are not available, like when the chart options require a pure JSON
- * structure or for use with graphical editors. For programmatic control, use
- * the `formatter` instead, and return `undefined` to disable a single data
- * label.
- */
- export interface DataLabelsFilterOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) The operator to compare by. Can be one of
- * `>`, `<`, `>=`, `<=`, `==`, and `===`.
- */
- operator?: OptionsOperatorValue;
- /**
- * (Highcharts, Highstock, Gantt) The point property to filter by. Point
- * options are passed directly to properties, additionally there are `y`
- * value, `percentage` and others listed under Highcharts.Point members.
- */
- property?: string;
- /**
- * (Highcharts, Highstock, Gantt) The value to compare against.
- */
- value?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Individual data label for each point. The
- * options are the same as the ones for plotOptions.series.dataLabels.
- */
- export interface DataLabelsOptions {
- /**
- * (Highcharts, Highstock, Gantt) The alignment of the data label compared
- * to the point. If `right`, the right side of the label should be touching
- * the point. For points with an extent, like columns, the alignments also
- * dictates how to align it inside the box, as given with the inside option.
- * Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Gantt) Whether to allow data labels to overlap.
- * To make the labels less sensitive for overlapping, the dataLabels.padding
- * can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
- * when a series is displayed for the `dataLabels`. The animation can also
- * be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|SeriesAreaDataDataLabelsAnimationOptions|SeriesArearangeDataDataLabelsAnimationOptions|SeriesAreasplineDataDataLabelsAnimationOptions|
- SeriesAreasplinerangeDataDataLabelsAnimationOptions|SeriesBarDataDataLabelsAnimationOptions|SeriesBoxplotDataDataLabelsAnimationOptions|SeriesBubbleDataDataLabelsAnimationOptions|
- SeriesBulletDataDataLabelsAnimationOptions|SeriesCandlestickDataDataLabelsAnimationOptions|SeriesColumnDataDataLabelsAnimationOptions|SeriesColumnpyramidDataDataLabelsAnimationOptions|
- SeriesColumnrangeDataDataLabelsAnimationOptions|SeriesCylinderDataDataLabelsAnimationOptions|SeriesDumbbellDataDataLabelsAnimationOptions|SeriesFunnelDataDataLabelsAnimationOptions|
- SeriesGaugeDataDataLabelsAnimationOptions|SeriesHeatmapDataDataLabelsAnimationOptions|SeriesItemDataDataLabelsAnimationOptions|SeriesLineDataDataLabelsAnimationOptions|
- SeriesLollipopDataDataLabelsAnimationOptions|SeriesNetworkgraphDataDataLabelsAnimationOptions|SeriesOhlcDataDataLabelsAnimationOptions|SeriesOrganizationDataDataLabelsAnimationOptions|
- SeriesPackedbubbleDataDataLabelsAnimationOptions|SeriesParetoDataDataLabelsAnimationOptions|SeriesPieDataDataLabelsAnimationOptions|SeriesPolygonDataDataLabelsAnimationOptions|
- SeriesPyramidDataDataLabelsAnimationOptions|SeriesSankeyDataDataLabelsAnimationOptions|SeriesScatter3dDataDataLabelsAnimationOptions|SeriesScatterDataDataLabelsAnimationOptions|
- SeriesSolidgaugeDataDataLabelsAnimationOptions|SeriesSplineDataDataLabelsAnimationOptions|SeriesStreamgraphDataDataLabelsAnimationOptions|SeriesSunburstDataDataLabelsAnimationOptions|
- SeriesTilemapDataDataLabelsAnimationOptions|SeriesTimelineDataDataLabelsAnimationOptions|SeriesTreemapDataDataLabelsAnimationOptions|SeriesVariablepieDataDataLabelsAnimationOptions|
- SeriesVariwideDataDataLabelsAnimationOptions|SeriesVectorDataDataLabelsAnimationOptions|SeriesVennDataDataLabelsAnimationOptions|SeriesWaterfallDataDataLabelsAnimationOptions|
- SeriesWindbarbDataDataLabelsAnimationOptions|SeriesWordcloudDataDataLabelsAnimationOptions|SeriesXrangeDataDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) The background color or gradient for the
- * data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The border color for the data label.
- * Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The border radius in pixels for the data
- * label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The border width in pixels for the data
- * label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text color for the data labels.
- * Defaults to `undefined`. For certain series types, like column or map,
- * the data labels can be drawn inside the points. In this case the data
- * label will be drawn with maximum contrast by default. Additionally, it
- * will be given a `text-outline` style with the opposite color, to further
- * increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) Whether to hide data labels that are
- * outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the data labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A declarative filter to control of which
- * data labels to display. The declarative filter is designed for use when
- * callback functions are not available, like when the chart options require
- * a pure JSON structure or for use with graphical editors. For programmatic
- * control, use the `formatter` instead, and return `undefined` to disable a
- * single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) A format string for the data label.
- * Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
- * data label. Note that if a `format` is defined, the format takes
- * precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) For points with an extent, like columns or
- * map areas, whether to align the data label inside the box or to the
- * actual value point. Defaults to `false` in most cases, `true` in stacked
- * columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Format for points with the value of null.
- * Works analogously to format. `nullFormat` can be applied only to series
- * which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function that defines
- * formatting for points with the value of null. Works analogously to
- * formatter. `nullPointFormatter` can be applied only to series which
- * support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) How to handle data labels that flow
- * outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Gantt) When either the `borderWidth` or the
- * `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Aligns data labels relative to points. If
- * `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Text rotation in degrees. Note that due to
- * a more complex structure, backgrounds, borders and padding will be lost
- * on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) The shadow of the box. Works best with
- * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Gantt) The name of a symbol to use for the border
- * around the label. Symbols are predefined functions on the Renderer
- * object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Gantt) Styles for the label. The default `color`
- * setting is `"contrast"`, which is a pseudo color that Highcharts picks up
- * and applies the maximum contrast to the underlying point item, for
- * example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) Options for a label text which should
- * follow marker's shape. Border and background are disabled for a label
- * that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) The vertical alignment of a data label.
- * Can be one of `top`, `middle` or `bottom`. The default value depends on
- * the data, for instance in a column chart, the label is above positive
- * values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Gantt) The x position offset of the label
- * relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) X offset of the higher data labels relative to
- * the point value.
- */
- xHigh?: number;
- /**
- * (Highcharts, Highstock) X offset of the lower data labels relative to the
- * point value.
- */
- xLow?: number;
- /**
- * (Highcharts, Highstock, Gantt) The y position offset of the label
- * relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock) Y offset of the higher data labels relative to
- * the point value.
- */
- yHigh?: number;
- /**
- * (Highcharts, Highstock) Y offset of the lower data labels relative to the
- * point value.
- */
- yLow?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the data labels. The
- * default Z index puts it above the series. Use a Z index of 2 to display
- * it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Options for a label text which should follow
- * marker's shape. Border and background are disabled for a label that follows a
- * path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML` to
- * true will disable this option.
- */
- export interface DataLabelsTextPathOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) Presentation attributes for the text path.
- */
- attributes?: SVGAttributes;
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable `textPath` option for
- * link's or marker's data labels.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
- * simplified interface for adding data to a chart from sources like CVS, HTML
- * tables or grid views. See also the tutorial article on the Data module.
- *
- * It requires the `modules/data.js` file to be loaded.
- *
- * Please note that the default way of adding data in Highcharts, without the
- * need of a module, is through the series._type_.data option.
- */
- export interface DataOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function to modify
- * the CSV before parsing it. Return the modified string.
- */
- beforeParse?: DataBeforeParseCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A two-dimensional array
- * representing the input data on tabular form. This input can be used when
- * the data is already parsed, for example from a grid view component. Each
- * cell can be a string or number. If not switchRowsAndColumns is set, the
- * columns are interpreted as series.
- */
- columns?: Array<Array<DataValueType>>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
- * structured as a column array. Will be fetched when the chart is created
- * using Ajax.
- */
- columnsURL?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The callback that is evaluated
- * when the data is finished loading, optionally from an external source,
- * and parsed. The first argument passed is a finished chart options object,
- * containing the series. These options can be extended with additional
- * options and passed directly to the chart constructor.
- */
- complete?: DataCompleteCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A comma delimited string to be
- * parsed. Related options are startRow, endRow, startColumn and endColumn
- * to delimit what part of the table is used. The lineDelimiter and
- * itemDelimiter options define the CSV delimiter formats.
- *
- * The built-in CSV parser doesn't support all flavours of CSV, so in some
- * cases it may be necessary to use an external CSV parser. See this example
- * of parsing CSV through the MIT licensed Papa Parse library.
- */
- csv?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An URL to a remote CSV dataset.
- * Will be fetched when the chart is created using Ajax.
- */
- csvURL?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Sets the refresh rate for data
- * polling when importing remote dataset by setting data.csvURL,
- * data.rowsURL, data.columnsURL, or data.googleSpreadsheetKey.
- *
- * Note that polling must be enabled by setting data.enablePolling to true.
- *
- * The value is the number of seconds between pollings. It cannot be set to
- * less than 1 second.
- */
- dataRefreshRate?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Which of the predefined date
- * formats in Date.prototype.dateFormats to use to parse date values.
- * Defaults to a best guess based on what format gives valid and ordered
- * dates. Valid options include: `YYYY/mm/dd`, `dd/mm/YYYY`, `mm/dd/YYYY`,
- * `dd/mm/YY`, `mm/dd/YY`.
- */
- dateFormat?: OptionsDateFormatValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The decimal point used for
- * parsing numbers in the CSV.
- *
- * If both this and data.delimiter is set to `undefined`, the parser will
- * attempt to deduce the decimal point automatically.
- */
- decimalPoint?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enables automatic refetching of
- * remote datasets every _n_ seconds (defined by setting
- * data.dataRefreshRate).
- *
- * Only works when either data.csvURL, data.rowsURL, data.columnsURL, or
- * data.googleSpreadsheetKey.
- */
- enablePolling?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
- * column (indexed by 0) to use. Defaults to the last column containing
- * data.
- */
- endColumn?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
- * row (indexed by 0) to use. Defaults to the last row containing data.
- */
- endRow?: number;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the first row in the data
- * set as series names.
- */
- firstRowAsNames?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The key for a Google Spreadsheet
- * to load. See general information on GS.
- */
- googleSpreadsheetKey?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Google Spreadsheet worksheet
- * to use in combination with googleSpreadsheetKey. The available id's from
- * your sheet can be read from
- * `https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic`.
- */
- googleSpreadsheetWorksheet?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Item or cell delimiter for
- * parsing CSV. Defaults to the tab character `\t` if a tab character is
- * found in the CSV string, if not it defaults to `,`.
- *
- * If this is set to false or undefined, the parser will attempt to deduce
- * the delimiter automatically.
- */
- itemDelimiter?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Line delimiter for parsing CSV.
- */
- lineDelimiter?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function to access
- * the parsed columns, the two-dimentional input data array directly, before
- * they are interpreted into series data and categories. Return `false` to
- * stop completion, or call `this.complete()` to continue async.
- */
- parsed?: DataParsedCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function to parse
- * string representations of dates into JavaScript timestamps. Should return
- * an integer timestamp on success.
- */
- parseDate?: DataParseDateCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The same as the columns input
- * option, but defining rows intead of columns.
- */
- rows?: Array<Array<DataValueType>>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
- * structured as a row array. Will be fetched when the chart is created
- * using Ajax.
- */
- rowsURL?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array containing dictionaries
- * for each series. A dictionary exists of Point property names as the key
- * and the CSV column index as the value.
- */
- seriesMapping?: Array<Dictionary<number>>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
- * column (indexed by 0) to use.
- */
- startColumn?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
- * row (indexed by 0) to use.
- */
- startRow?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Switch rows and columns of the
- * input data, so that `this.columns` effectively becomes the rows of the
- * data set, and the rows are interpreted as series.
- */
- switchRowsAndColumns?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An HTML table or the id of such
- * to be parsed as input data. Related options are `startRow`, `endRow`,
- * `startColumn` and `endColumn` to delimit what part of the table is used.
- */
- table?: (string|HTMLElement);
- }
- /**
- * Options for `dataSorting`.
- */
- export interface DataSortingOptionsObject {
- /**
- * Enable or disable data sorting for the series.
- */
- enabled?: boolean;
- /**
- * Whether to allow matching points by name in an update.
- */
- matchByName?: boolean;
- /**
- * Determines what data value should be used to sort by.
- */
- sortKey?: string;
- }
- export interface DefsArrowOptions {
- children?: Array<DefsOptions>;
- id?: string;
- markerHeight?: number;
- markerWidth?: number;
- refX?: number;
- refY?: number;
- render?: boolean;
- tagName?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers for
- * annotations.
- *
- * An example of the arrow marker: (see online documentation for example)
- */
- export interface DefsOptions {
- arrow?: (DefsArrowOptions|SVGDefinitionObject);
- "reverse-arrow"?: (DefsReverseArrowOptions|SVGDefinitionObject);
- }
- export interface DefsReverseArrowOptions {
- id?: string;
- markerHeight?: number;
- markerWidth?: number;
- refX?: number;
- refY?: number;
- render?: boolean;
- tagName?: string;
- }
- /**
- * Generic dictionary in TypeScript notation. Use the native `Record<string,
- * any>` instead.
- */
- export interface Dictionary<T> {
- [key: string]: T;
- }
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box default state.
- */
- export interface DragDropGuideBoxOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) CSS class name of the guide box in this
- * state. Defaults to `highcharts-drag-box-default`.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) Guide box fill color.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) Guide box cursor.
- */
- cursor?: string;
- /**
- * (Highcharts, Highstock, Gantt) Color of the border around the guide box.
- */
- lineColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) Width of the line around the guide box.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Guide box zIndex.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Options for the drag handles.
- */
- export interface DragDropHandleOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) The class name of the drag handles.
- * Defaults to `highcharts-drag-handle`.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The fill color of the drag handles.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The mouse cursor to use for the drag
- * handles. By default this is intelligently switching between `ew-resize`
- * and `ns-resize` depending on the direction the point is being dragged.
- */
- cursor?: string;
- /**
- * (Highcharts, Highstock, Gantt) The line color of the drag handles.
- */
- lineColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The line width for the drag handles.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Function to define the SVG path to use for
- * the drag handles. Takes the point as argument. Should return an SVG path
- * in array format. The SVG path is automatically positioned on the point.
- */
- pathFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) The z index for the drag handles.
- */
- zIndex?: number;
- }
- /**
- * Current drag and drop position.
- */
- export interface DragDropPositionObject {
- /**
- * Chart x position
- */
- chartX: number;
- /**
- * Chart y position
- */
- chartY: number;
- /**
- * Drag and drop guide box.
- */
- guideBox?: BBoxObject;
- /**
- * Updated point data.
- */
- points: Dictionary<Dictionary<number>>;
- /**
- * Delta of previous x position.
- */
- prevdX?: number;
- /**
- * Delta of previous y position.
- */
- prevdY?: number;
- }
- /**
- * (Highcharts, Highmaps) Additional styles to apply to the data label of a
- * point that has drilldown data. By default it is underlined and blue to invite
- * to interaction.
- *
- * In styled mode, active data label styles can be applied with the
- * `.highcharts-drilldown-data-label` class.
- */
- export interface DrilldownActiveDataLabelStyleOptions {
- color?: string;
- cursor?: string;
- fontWeight?: string;
- textDecoration?: string;
- }
- /**
- * (Highcharts, Highmaps) Options for the drill up button that appears when
- * drilling down on a series. The text for the button is defined in
- * lang.drillUpText.
- */
- export interface DrilldownDrillUpButtonOptions {
- /**
- * (Highcharts, Highmaps) Positioning options for the button within the
- * `relativeTo` box. Available properties are `x`, `y`, `align` and
- * `verticalAlign`.
- */
- position?: (AlignObject|DrilldownDrillUpButtonPositionOptions);
- /**
- * (Highcharts, Highmaps) What box to align the button to. Can be either
- * `plotBox` or `spacingBox`.
- */
- relativeTo?: ButtonRelativeToValue;
- /**
- * (Highcharts, Highmaps) A collection of attributes for the button. The
- * object takes SVG attributes like `fill`, `stroke`, `stroke-width` or `r`,
- * the border radius. The theme also supports `style`, a collection of CSS
- * properties for the text. Equivalent attributes for the hover state are
- * given in `theme.states.hover`.
- *
- * In styled mode, drill-up button styles can be applied with the
- * `.highcharts-drillup-button` class.
- */
- theme?: object;
- }
- /**
- * (Highcharts, Highmaps) Positioning options for the button within the
- * `relativeTo` box. Available properties are `x`, `y`, `align` and
- * `verticalAlign`.
- */
- export interface DrilldownDrillUpButtonPositionOptions {
- /**
- * (Highcharts, Highmaps) Horizontal alignment.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highmaps) Vertical alignment of the button.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highmaps) The X offset of the button.
- */
- x?: number;
- /**
- * (Highcharts, Highmaps) The Y offset of the button.
- */
- y?: number;
- }
- /**
- * The event arguments when a drilldown point is clicked.
- */
- export interface DrilldownEventObject {
- /**
- * If a category label was clicked, which index.
- */
- category?: number;
- /**
- * The original browser event (usually click) that triggered the drilldown.
- */
- originalEvent?: Event;
- /**
- * The originating point.
- */
- point: Point;
- /**
- * If a category label was clicked, this array holds all points
- * corresponding to the category. Otherwise it is set to false.
- */
- points?: (boolean|Array<Point>);
- /**
- * Prevents the default behaviour of the event.
- */
- preventDefault: Function;
- /**
- * Options for the new series. If the event is utilized for async drilldown,
- * the seriesOptions are not added, but rather loaded async.
- */
- seriesOptions?: SeriesOptionsType;
- /**
- * The event target.
- */
- target: Chart;
- /**
- * The event type.
- */
- type: "drilldown";
- }
- /**
- * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
- * increasingly high resolution data through clicking on chart items like
- * columns or pie slices.
- *
- * The drilldown feature requires the drilldown.js file to be loaded, found in
- * the modules directory of the download package, or online at
- * code.highcharts.com/modules/drilldown.js.
- */
- export interface DrilldownOptions {
- /**
- * (Highcharts, Highmaps) Additional styles to apply to the X axis label for
- * a point that has drilldown data. By default it is underlined and blue to
- * invite to interaction.
- *
- * In styled mode, active label styles can be set with the
- * `.highcharts-drilldown-axis-label` class.
- */
- activeAxisLabelStyle?: CSSObject;
- /**
- * (Highcharts, Highmaps) Additional styles to apply to the data label of a
- * point that has drilldown data. By default it is underlined and blue to
- * invite to interaction.
- *
- * In styled mode, active data label styles can be applied with the
- * `.highcharts-drilldown-data-label` class.
- */
- activeDataLabelStyle?: (CSSObject|DrilldownActiveDataLabelStyleOptions);
- /**
- * (Highcharts) When this option is false, clicking a single point will
- * drill down all points in the same category, equivalent to clicking the X
- * axis label.
- */
- allowPointDrilldown?: boolean;
- /**
- * (Highcharts, Highmaps) Set the animation for all drilldown animations.
- * Animation of a drilldown occurs when drilling between a column point and
- * a column series, or a pie slice and a full pie series. Drilldown can
- * still be used between series and points of different types, but animation
- * will not occur.
- *
- * The animation can either be set as a boolean or a configuration object.
- * If `true`, it will use the 'swing' jQuery easing and a duration of 500
- * ms. If used as a configuration object, the following properties are
- * supported:
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: A string reference to an easing function set on the `Math`
- * object. See the easing demo.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highmaps) Options for the drill up button that appears when
- * drilling down on a series. The text for the button is defined in
- * lang.drillUpText.
- */
- drillUpButton?: DrilldownDrillUpButtonOptions;
- /**
- * (Highcharts, Highmaps) An array of series configurations for the drill
- * down. Each series configuration uses the same syntax as the series option
- * set. These drilldown series are hidden by default. The drilldown series
- * is linked to the parent series' point by its `id`.
- */
- series?: Array<SeriesOptionsType>;
- }
- /**
- * The event arguments when all the series have been drilled up.
- */
- export interface DrillupAllEventObject {
- /**
- * Prevents the default behaviour of the event.
- */
- preventDefault: Function;
- /**
- * The event target.
- */
- target: Chart;
- /**
- * The event type.
- */
- type: "drillupall";
- }
- /**
- * The event arguments when drilling up from a drilldown series.
- */
- export interface DrillupEventObject {
- /**
- * Prevents the default behaviour of the event.
- */
- preventDefault: Function;
- /**
- * Options for the new series.
- */
- seriesOptions?: SeriesOptionsType;
- /**
- * The event target.
- */
- target: Chart;
- /**
- * The event type.
- */
- type: "drillup";
- }
- /**
- * The event options for adding function callback.
- */
- export interface EventOptionsObject {
- /**
- * The order the event handler should be called. This opens for having one
- * handler be called before another, independent of in which order they were
- * added.
- */
- order: number;
- }
- /**
- * Contains information about the export data event.
- */
- export interface ExportDataEventObject {
- /**
- * Contains the data rows for the current export task and can be modified.
- */
- dataRows: Array<Array<string>>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
- * exporting menu. Requires the Accessibility module.
- */
- export interface ExportingAccessibilityOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
- * the export menu.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
- * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
- * and `fill`. Tri-state button styles are supported by the `states.hover` and
- * `states.select` objects.
- */
- export interface ExportingButtonsContextButtonThemeOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
- * capture hover events.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
- */
- stroke?: ColorString;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
- * buttons, print and export. In addition to the default buttons listed here,
- * custom buttons can be added. See navigation.buttonOptions for general
- * options.
- */
- export interface ExportingButtonsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
- *
- * In styled mode, export button styles can be applied with the
- * `.highcharts-contextbutton` class.
- */
- contextButton?: ExportingButtonsOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
- *
- * In styled mode, export button styles can be applied with the
- * `.highcharts-contextbutton` class.
- */
- export interface ExportingButtonsOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
- * buttons.
- */
- buttonSpacing?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The class name of the context
- * button.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
- */
- height?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The class name of the menu
- * appearing from the button.
- */
- menuClassName?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A collection of strings pointing
- * to config options for the menu items. The config options are defined in
- * the `menuItemDefinitions` option.
- *
- * By default, there is the "View in full screen" and "Print" menu items,
- * plus one menu item for each of the available export types.
- */
- menuItems?: Array<string>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A click handler callback to use
- * on the button directly instead of the popup menu.
- */
- onclick?: Function;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The symbol for the button.
- * Points to a definition function in the `Highcharts.Renderer.symbols`
- * collection. The default `exportIcon` function is part of the exporting
- * module. Possible values are "circle", "square", "diamond", "triangle",
- * "triangle-down", "menu", "menuball" or custom shape.
- */
- symbol?: ("menu"|"menuball"|"exportIcon"|string|SymbolKeyValue);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) See
- * navigation.buttonOptions.symbolFill.
- */
- symbolFill?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
- * the button.
- */
- symbolSize?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
- * or line.
- */
- symbolStroke?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
- * symbol on the button.
- */
- symbolStrokeWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
- * the symbol inside the button.
- */
- symbolX?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
- * the symbol inside the button.
- */
- symbolY?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
- * individual button.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
- * button theme. The object accepts SVG properties like `stroke-width`,
- * `stroke` and `fill`. Tri-state button styles are supported by the
- * `states.hover` and `states.select` objects.
- */
- theme?: ExportingButtonsContextButtonThemeOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The key to a lang option setting
- * that is used for the button's title tooltip. When the key is
- * `contextButtonTitle`, it refers to lang.contextButtonTitle that defaults
- * to "Chart context menu".
- */
- titleKey?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal position of the
- * button relative to the `align` option.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
- * button's position relative to its `verticalAlign`.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
- * export-data table.
- */
- export interface ExportingCsvAnnotationsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The way to mark the separator
- * for annotations combined in one export-data table cell.
- */
- itemDelimiter?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When several labels are assigned
- * to a specific point, they will be displayed in one field in the table.
- */
- join?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to CSV or
- * ExCel, or displaying the data in a HTML table or a JavaScript structure.
- *
- * This module adds data export options to the export menu and provides
- * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
- * `Chart.viewData`.
- *
- * The XLS converter is limited and only creates a HTML string that is passed
- * for download, which works but creates a warning before opening. The
- * workaround for this is to use a third party XLSX converter, as demonstrated
- * in the sample below.
- */
- export interface ExportingCsvOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
- * export-data table.
- */
- annotations?: ExportingCsvAnnotationsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Formatter callback for the
- * column headers. Parameters are:
- *
- * - `item` - The series or axis object)
- *
- * - `key` - The point key, for example y or z
- *
- * - `keyLength` - The amount of value keys for this item, for example a
- * range series has the keys `low` and `high` so the key length is 2.
- *
- * If useMultiLevelHeaders is true, columnHeaderFormatter by default returns
- * an object with columnTitle and topLevelColumnTitle for each key. Columns
- * with the same topLevelColumnTitle have their titles merged into a single
- * cell with colspan for table/Excel export.
- *
- * If `useMultiLevelHeaders` is false, or for CSV export, it returns the
- * series name, followed by the key if there is more than one key.
- *
- * For the axis it returns the axis title or "Category" or "DateTime" by
- * default.
- *
- * Return `false` to use Highcharts' proposed header.
- */
- columnHeaderFormatter?: (Function|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Which date format to use for
- * exported dates on a datetime X axis. See `Highcharts.dateFormat`.
- */
- dateFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Which decimal point to use for
- * exported CSV. Defaults to the same as the browser locale, typically `.`
- * (English) or `,` (German, French etc).
- */
- decimalPoint?: (string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The item delimiter in the
- * exported data. Use `;` for direct exporting to Excel. Defaults to a best
- * guess based on the browser locale. If the locale _decimal point_ is `,`,
- * the `itemDelimiter` defaults to `;`, otherwise the `itemDelimiter`
- * defaults to `,`.
- */
- itemDelimiter?: (string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The line delimiter in the
- * exported data, defaults to a newline.
- */
- lineDelimiter?: string;
- }
- /**
- * Definition for a menu item in the context menu.
- */
- export interface ExportingMenuObject {
- /**
- * The click handler for the menu item.
- */
- onclick?: EventCallbackFunction<Chart>;
- /**
- * Indicates a separator line instead of an item.
- */
- separator?: boolean;
- /**
- * The text for the menu item.
- */
- text?: string;
- /**
- * If internationalization is required, the key to a language string.
- */
- textKey?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting module.
- * For an overview on the matter, see the docs.
- */
- export interface ExportingOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
- * exporting menu. Requires the Accessibility module.
- */
- accessibility?: ExportingAccessibilityOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Experimental setting to allow
- * HTML inside the chart (added through the `useHTML` options), directly in
- * the exported image. This allows you to preserve complicated HTML
- * structures like tables or bi-directional text in exported charts.
- *
- * Disclaimer: The HTML is rendered in a `foreignObject` tag in the
- * generated SVG. The official export server is based on PhantomJS, which
- * supports this, but other SVG clients, like Batik, does not support it.
- * This also applies to downloaded SVG that you want to open in a desktop
- * client.
- */
- allowHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
- * buttons, print and export. In addition to the default buttons listed
- * here, custom buttons can be added. See navigation.buttonOptions for
- * general options.
- */
- buttons?: (ExportingButtonsOptions|Dictionary<ExportingButtonsOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Additional chart options to be
- * merged into the chart before exporting to an image format. This does not
- * apply to printing the chart via the export menu.
- *
- * For example, a common use case is to add data labels to improve
- * readability of the exported chart, or to add a printer-friendly color
- * scheme to exported PDFs.
- */
- chartOptions?: Options;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to
- * CSV or ExCel, or displaying the data in a HTML table or a JavaScript
- * structure.
- *
- * This module adds data export options to the export menu and provides
- * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
- * `Chart.viewData`.
- *
- * The XLS converter is limited and only creates a HTML string that is
- * passed for download, which works but creates a warning before opening.
- * The workaround for this is to use a third party XLSX converter, as
- * demonstrated in the sample below.
- */
- csv?: ExportingCsvOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the exporting
- * module. Disabling the module will hide the context button, but API
- * methods will still be available.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Function to call if the
- * offline-exporting module fails to export a chart on the client side, and
- * fallbackToExportServer is disabled. If left undefined, an exception is
- * thrown instead. Receives two parameters, the exporting options, and the
- * error from the module.
- */
- error?: ExportingErrorCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to fall back to
- * the export server if the offline-exporting module is unable to export the
- * chart on the client side. This happens for certain browsers, and certain
- * features (e.g. allowHTML), depending on the image type exporting to. For
- * very complex charts, it is possible that export can fail in browsers that
- * don't support Blob objects, due to data URL length limits. It is
- * recommended to define the exporting.error handler if disabling fallback,
- * in order to notify users in case export fails.
- */
- fallbackToExportServer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The filename, without extension,
- * to use for the exported chart.
- */
- filename?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An object containing additional
- * key value data for the POST form that sends the SVG to the export server.
- * For example, a `target` can be set to make sure the generated image is
- * received in another frame, or a custom `enctype` or `encoding` can be
- * set.
- */
- formAttributes?: HTMLAttributes;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
- * for export module dependencies to load on demand if they don't already
- * exist on `window`. Should currently point to location of CanVG library,
- * RGBColor.js, jsPDF and svg2pdf.js, required for client side export in
- * certain browsers.
- */
- libURL?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An object consisting of
- * definitions for the menu items in the context menu. Each key value pair
- * has a `key` that is referenced in the menuItems setting, and a `value`,
- * which is an object with the following properties:
- *
- * - **onclick:** The click handler for the menu item
- *
- * - **text:** The text for the menu item
- *
- * - **textKey:** If internationalization is required, the key to a language
- * string
- *
- * Custom text for the "exitFullScreen" can be set only in lang options (it
- * is not a separate button).
- */
- menuItemDefinitions?: Dictionary<ExportingMenuObject>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When printing the chart from the
- * menu item in the burger menu, if the on-screen chart exceeds this width,
- * it is resized. After printing or cancelled, it is restored. The default
- * width makes the chart fit into typical paper format. Note that this does
- * not affect the chart when printing the web page as a whole.
- */
- printMaxWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Defines the scale or zoom factor
- * for the exported image compared to the on-screen display. While for
- * instance a 600px wide chart may look good on a website, it will look bad
- * in print. The default scale of 2 makes this chart export to a 1200px PNG
- * or JPG.
- */
- scale?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Show a HTML table below the
- * chart with the chart's current data.
- */
- showTable?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Analogous to sourceWidth.
- */
- sourceHeight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the original chart
- * when exported, unless an explicit chart.width is set, or a pixel width is
- * set on the container. The width exported raster image is then multiplied
- * by scale.
- */
- sourceWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Caption for the data table. Same
- * as chart title by default. Set to `false` to disable.
- */
- tableCaption?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Default MIME type for exporting
- * if `chart.exportChart()` is called without specifying a `type` option.
- * Possible values are `image/png`, `image/jpeg`, `application/pdf` and
- * `image/svg+xml`.
- */
- type?: ExportingMimeTypeValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for the server module
- * converting the SVG string to an image format. By default this points to
- * Highchart's free web service.
- */
- url?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Use multi level headers in data
- * table. If csv.columnHeaderFormatter is defined, it has to return objects
- * in order for multi level headers to work.
- */
- useMultiLevelHeaders?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If using multi level table
- * headers, use rowspans for headers that have only one level.
- */
- useRowspanHeaders?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of charts
- * exported to PNG or JPG. As of Highcharts 3.0, the default pixel width is
- * a function of the chart.width or exporting.sourceWidth and the
- * exporting.scale.
- */
- width?: number;
- }
- /**
- * The returned object literal from the Highcharts.Axis#getExtremes function.
- */
- export interface ExtremesObject {
- /**
- * The maximum value of the axis' associated series.
- */
- dataMax: number;
- /**
- * The minimum value of the axis' associated series.
- */
- dataMin: number;
- /**
- * The maximum axis value, either automatic or set manually. If the `max`
- * option is not set, `maxPadding` is 0 and `endOnTick` is false, this value
- * will be the same as `dataMax`.
- */
- max: number;
- /**
- * The minimum axis value, either automatic or set manually. If the `min`
- * option is not set, `minPadding` is 0 and `startOnTick` is false, this
- * value will be the same as `dataMin`.
- */
- min: number;
- /**
- * The user defined maximum, either from the `max` option or from a zoom or
- * `setExtremes` action.
- */
- userMax: number;
- /**
- * The user defined minimum, either from the `min` option or from a zoom or
- * `setExtremes` action.
- */
- userMin: number;
- }
- /**
- * The font metrics.
- */
- export interface FontMetricsObject {
- /**
- * The baseline relative to the top of the box.
- */
- b: number;
- /**
- * The font size.
- */
- f: number;
- /**
- * The line height.
- */
- h: number;
- }
- /**
- * (Gantt) Data for a Gantt series.
- */
- export interface GanttPointOptionsObject {
- /**
- * (Gantt) Accessibility options for a data point.
- */
- accessibility?: PointAccessibilityOptionsObject;
- /**
- * (Gantt) Whether the grid node belonging to this point should start as
- * collapsed. Used in axes of type treegrid.
- */
- collapsed?: boolean;
- /**
- * (Gantt) Progress indicator, how much of the task completed. If it is a
- * number, the `fill` will be applied automatically.
- */
- completed?: (number|XrangePointPartialFillOptionsObject);
- /**
- * (Gantt) A reserved subspace to store options and values for customized
- * functionality. Here you can add additional data for your own event
- * callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Gantt) The ID of the point (task) that this point depends on in Gantt
- * charts. Aliases connect. Can also be an object, specifying further
- * connecting options between the points. Multiple connections can be
- * specified by providing an array.
- */
- dependency?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
- /**
- * (Gantt) A description of the point to add to the screen reader
- * information about the point.
- */
- description?: string;
- /**
- * (Gantt) Point specific options for the draggable-points module. Overrides
- * options on `series.dragDrop`.
- */
- dragDrop?: SeriesLineDataDragDropOptions;
- /**
- * (Highcharts) The `id` of a series in the drilldown.series array to use
- * for a drilldown for this point.
- */
- drilldown?: string;
- /**
- * (Gantt) The end time of a task.
- */
- end?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id for the point. This can be used
- * after render time to get a pointer to the point object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Gantt) The rank for this point's data label in case of collision. If two
- * data labels are about to overlap, only the one with the highest
- * `labelrank` will be drawn.
- */
- labelrank?: number;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Gantt) Whether this point is a milestone. If so, only the `start` option
- * is handled, while `end` is ignored.
- */
- milestone?: boolean;
- /**
- * (Gantt) The name of a task. If a `treegrid` y-axis is used (default in
- * Gantt charts), this will be picked up automatically, and used to
- * calculate the y-value.
- */
- name?: string;
- /**
- * (Gantt) The ID of the parent point (task) of this point in Gantt charts.
- */
- parent?: string;
- /**
- * (Gantt) The start time of a task.
- */
- start?: number;
- /**
- * (Gantt) The Y value of a task.
- */
- y?: number;
- }
- /**
- * Represents the loose structure of a geographic JSON file.
- */
- export interface GeoJSON {
- /**
- * Full copyright note of the geographic data.
- */
- copyright?: string;
- /**
- * Short copyright note of the geographic data suitable for watermarks.
- */
- copyrightShort?: string;
- /**
- * Additional meta information based on the coordinate reference system.
- */
- crs?: Dictionary<any>;
- /**
- * Data sets of geographic features.
- */
- features: Array<GeoJSONFeature>;
- /**
- * Map projections and transformations to be used when calculating between
- * lat/lon and chart values. Required for lat/lon support on maps. Allows
- * resizing, rotating, and moving portions of a map within its projected
- * coordinate system while still retaining lat/lon support. If using lat/lon
- * on a portion of the map that does not match a `hitZone`, the definition
- * with the key `default` is used.
- */
- "hc-transform"?: Dictionary<GeoJSONTranslation>;
- /**
- * Title of the geographic data.
- */
- title?: string;
- /**
- * Type of the geographic data. Type of an optimized map collection is
- * `FeatureCollection`.
- */
- type?: string;
- /**
- * Version of the geographic data.
- */
- version?: string;
- }
- /**
- * Data set of a geographic feature.
- */
- export interface GeoJSONFeature extends Dictionary<any> {
- /**
- * Data type of the geographic feature.
- */
- type: string;
- }
- /**
- * Describes the map projection and transformations applied to a portion of a
- * map.
- */
- export interface GeoJSONTranslation {
- /**
- * The coordinate reference system used to generate this portion of the map.
- */
- crs: string;
- /**
- * Define the portion of the map that this defintion applies to. Defined as
- * a GeoJSON polygon feature object, with `type` and `coordinates`
- * properties.
- */
- hitZone?: Dictionary<any>;
- /**
- * Property for internal use for maps generated by Highsoft.
- */
- jsonmarginX?: number;
- /**
- * Property for internal use for maps generated by Highsoft.
- */
- jsonmarginY?: number;
- /**
- * Property for internal use for maps generated by Highsoft.
- */
- jsonres?: number;
- /**
- * Specifies clockwise rotation of the coordinates after the projection, but
- * before scaling and panning. Defined in radians, relative to the
- * coordinate system origin.
- */
- rotation?: number;
- /**
- * The scaling factor applied to the projected coordinates.
- */
- scale?: number;
- /**
- * Property for internal use for maps generated by Highsoft.
- */
- xoffset?: number;
- /**
- * X offset of projected coordinates after scaling.
- */
- xpan?: number;
- /**
- * Property for internal use for maps generated by Highsoft.
- */
- yoffset?: number;
- /**
- * Y offset of projected coordinates after scaling.
- */
- ypan?: number;
- }
- export interface GlobalOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Path to the pattern image
- * required by VML browsers in order to draw radial gradients.
- */
- VMLRadialGradientURL?: string;
- }
- /**
- * Gradient options instead of a solid color.
- */
- export interface GradientColorObject {
- /**
- * Holds an object that defines the start position and the end position
- * relative to the shape.
- */
- linearGradient?: LinearGradientColorObject;
- /**
- * Holds an object that defines the center position and the radius.
- */
- radialGradient?: RadialGradientColorObject;
- /**
- * The first item in each tuple is the position in the gradient, where 0 is
- * the start of the gradient and 1 is the end of the gradient. Multiple
- * stops can be applied. The second item is the color for each stop. This
- * color can also be given in the rgba format.
- */
- stops: Array<GradientColorStopObject>;
- }
- /**
- * Color stop tuple.
- */
- export interface GradientColorStopObject {
- 0: number;
- 1: ColorString;
- color?: Color;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border drawn
- * around elements while navigating through them.
- */
- export interface KeyboardNavigationFocusBorderOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable/disable focus border for
- * chart.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Hide the browser's default focus
- * indicator.
- */
- hideBrowserFocusOutline?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Focus border margin around the
- * elements.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Style options for the focus
- * border drawn around elements while navigating through them. Note that
- * some browsers in addition draw their own borders for focused elements.
- * These automatic borders can not be styled by Highcharts.
- *
- * In styled mode, the border is given the `.highcharts-focus-border` class.
- */
- style?: CSSObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
- */
- export interface KeyboardNavigationOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
- * the chart.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border
- * drawn around elements while navigating through them.
- */
- focusBorder?: KeyboardNavigationFocusBorderOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Order of tab navigation in the
- * chart. Determines which elements are tabbed to first. Available elements
- * are: `series`, `zoom`, `rangeSelector`, `chartMenu`, `legend`. In
- * addition, any custom components can be added here.
- */
- order?: Array<string>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard
- * navigation of data points and series.
- */
- seriesNavigation?: KeyboardNavigationSeriesNavigationOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to wrap around
- * when reaching the end of arrow-key navigation for an element in the
- * chart.
- */
- wrapAround?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard navigation
- * of data points and series.
- */
- export interface KeyboardNavigationSeriesNavigationOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set the keyboard navigation mode
- * for the chart. Can be "normal" or "serialize". In normal mode, left/right
- * arrow keys move between points in a series, while up/down arrow keys move
- * between series. Up/down navigation acts intelligently to figure out which
- * series makes sense to move to from any given point.
- *
- * In "serialize" mode, points are instead navigated as a single list.
- * Left/right behaves as in "normal" mode. Up/down arrow keys will behave
- * like left/right. This can be useful for unifying navigation behavior
- * with/without screen readers enabled.
- */
- mode?: OptionsModeValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
- * points than this, we no longer allow keyboard navigation for it.
- *
- * Set to `false` to disable.
- */
- pointNavigationEnabledThreshold?: (boolean|number);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Skip null points when navigating
- * through points with the keyboard.
- */
- skipNullPoints?: boolean;
- }
- /**
- * Containing the position of a box that should be avoided by labels.
- */
- export interface LabelIntersectBoxObject {
- bottom: number;
- left: number;
- right: number;
- top: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new data in
- * charts. If addPoint or addSeries is used, and only one series/point is added,
- * the `newPointAnnounce` and `newSeriesAnnounce` strings are used. The
- * `...Single` versions will be used if there is only one chart on the page, and
- * the `...Multiple` versions will be used if there are multiple charts on the
- * page. For all other new data events, the `newDataAnnounce` string will be
- * used.
- */
- export interface LangAccessibilityAnnounceNewDataOptions {
- newDataAnnounce?: string;
- newPointAnnounceMultiple?: string;
- newPointAnnounceSingle?: string;
- newSeriesAnnounceMultiple?: string;
- newSeriesAnnounceSingle?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
- */
- export interface LangAccessibilityAxisOptions {
- rangeCategories?: string;
- rangeFromTo?: string;
- timeRangeDays?: string;
- timeRangeHours?: string;
- timeRangeMinutes?: string;
- timeRangeSeconds?: string;
- xAxisDescriptionPlural?: string;
- xAxisDescriptionSingular?: string;
- yAxisDescriptionPlural?: string;
- yAxisDescriptionSingular?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings. This
- * is added to the chart information region.
- *
- * If there is only a single series type used in the chart, we use the format
- * string for the series type, or default if missing. There is one format string
- * for cases where there is only a single series in the chart, and one for
- * multiple series of the same type.
- */
- export interface LangAccessibilityChartTypesOptions {
- barMultiple?: string;
- barSingle?: string;
- boxplotMultiple?: string;
- boxplotSingle?: string;
- bubbleMultiple?: string;
- bubbleSingle?: string;
- columnMultiple?: string;
- columnSingle?: string;
- combinationChart?: string;
- defaultMultiple?: string;
- defaultSingle?: string;
- emptyChart?: string;
- lineMultiple?: string;
- lineSingle?: string;
- mapTypeDescription?: string;
- pieMultiple?: string;
- pieSingle?: string;
- scatterMultiple?: string;
- scatterSingle?: string;
- splineMultiple?: string;
- splineSingle?: string;
- unknownMap?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings for
- * accessibility module.
- */
- export interface LangAccessibilityExportingOptions {
- chartMenuLabel?: string;
- exportRegionLabel?: string;
- menuButtonLabel?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for accessibility
- * of the legend.
- */
- export interface LangAccessibilityLegendOptions {
- legendItem?: string;
- legendLabel?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility strings
- * in the chart. Requires the accessibility module to be loaded. For a
- * description of the module and information on its features, see Highcharts
- * Accessibility.
- *
- * For more dynamic control over the accessibility functionality, see
- * accessibility.pointDescriptionFormatter,
- * accessibility.seriesDescriptionFormatter, and
- * accessibility.screenReaderSectionFormatter.
- */
- export interface LangAccessibilityOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new
- * data in charts. If addPoint or addSeries is used, and only one
- * series/point is added, the `newPointAnnounce` and `newSeriesAnnounce`
- * strings are used. The `...Single` versions will be used if there is only
- * one chart on the page, and the `...Multiple` versions will be used if
- * there are multiple charts on the page. For all other new data events, the
- * `newDataAnnounce` string will be used.
- */
- announceNewData?: LangAccessibilityAnnounceNewDataOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
- */
- axis?: LangAccessibilityAxisOptions;
- chartContainerLabel?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings.
- * This is added to the chart information region.
- *
- * If there is only a single series type used in the chart, we use the
- * format string for the series type, or default if missing. There is one
- * format string for cases where there is only a single series in the chart,
- * and one for multiple series of the same type.
- */
- chartTypes?: LangAccessibilityChartTypesOptions;
- credits?: string;
- defaultChartTitle?: string;
- drillUpButton?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings
- * for accessibility module.
- */
- exporting?: LangAccessibilityExportingOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set a label on the container
- * wrapping the SVG.
- */
- graphicContainerLabel?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for
- * accessibility of the legend.
- */
- legend?: LangAccessibilityLegendOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options
- * for accessibility.
- */
- rangeSelector?: LangAccessibilityRangeSelectorOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
- * reader information sections added before and after the charts.
- */
- screenReaderSection?: LangAccessibilityScreenReaderSectionOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
- * series types. For more dynamic control over the series element
- * descriptions, see accessibility.seriesDescriptionFormatter.
- */
- series?: LangAccessibilitySeriesOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known
- * series types. The relevant description is added to the screen reader
- * information region when these series types are used.
- */
- seriesTypeDescriptions?: LangAccessibilitySeriesTypeDescriptionsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for
- * sonification.
- */
- sonification?: LangAccessibilitySonificationOptions;
- svgContainerLabel?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Title element text for the chart
- * SVG element. Leave this empty to disable adding the title element.
- * Browsers will display this content when hovering over elements in the
- * chart. Assistive technology may use this element to label the chart.
- */
- svgContainerTitle?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options
- * for the data table.
- */
- table?: LangAccessibilityTableOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Thousands separator to use when
- * formatting numbers for screen readers. Note that many screen readers will
- * not handle space as a thousands separator, and will consider "11 700" as
- * two numbers.
- *
- * Set to `null` to use the separator defined in lang.thousandsSep.
- */
- thousandsSep?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
- * language options.
- */
- zoom?: LangAccessibilityZoomOptions;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options for
- * accessibility.
- */
- export interface LangAccessibilityRangeSelectorOptions {
- buttonText?: string;
- maxInputLabel?: string;
- minInputLabel?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
- * descriptions.
- */
- export interface LangAccessibilityScreenReaderSectionAnnotationsOptions {
- descriptionMultiplePoints?: string;
- descriptionNoPoints?: string;
- descriptionSinglePoint?: string;
- heading?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
- * reader information sections added before and after the charts.
- */
- export interface LangAccessibilityScreenReaderSectionOptions {
- afterRegionLabel?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
- * descriptions.
- */
- annotations?: LangAccessibilityScreenReaderSectionAnnotationsOptions;
- beforeRegionLabel?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Label for the end of the chart.
- * Announced by screen readers.
- */
- endOfChartMarker?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
- * series types. For more dynamic control over the series element descriptions,
- * see accessibility.seriesDescriptionFormatter.
- */
- export interface LangAccessibilitySeriesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) User supplied description text.
- * This is added in the point comment description by default if present.
- */
- description?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Description for the value of
- * null points.
- */
- nullPointValue?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Description for annotations on a
- * point, as it is made available to assistive technology.
- */
- pointAnnotationsDescription?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the
- * series main summary. Each series type has two modes:
- *
- * 1. This series type is the only series type used in the chart
- *
- * 2. This is a combination chart with multiple series types
- *
- * If a definition does not exist for the specific series type and mode, the
- * 'default' lang definitions are used.
- */
- summary?: LangAccessibilitySeriesSummaryOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) xAxis description for series if
- * there are multiple xAxes in the chart.
- */
- xAxisDescription?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) yAxis description for series if
- * there are multiple yAxes in the chart.
- */
- yAxisDescription?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the series
- * main summary. Each series type has two modes:
- *
- * 1. This series type is the only series type used in the chart
- *
- * 2. This is a combination chart with multiple series types
- *
- * If a definition does not exist for the specific series type and mode, the
- * 'default' lang definitions are used.
- */
- export interface LangAccessibilitySeriesSummaryOptions {
- bar?: string;
- barCombination?: string;
- boxplot?: string;
- boxplotCombination?: string;
- bubble?: string;
- bubbleCombination?: string;
- column?: string;
- columnCombination?: string;
- default?: string;
- defaultCombination?: string;
- line?: string;
- lineCombination?: string;
- map?: string;
- mapbubble?: string;
- mapbubbleCombination?: string;
- mapCombination?: string;
- mapline?: string;
- maplineCombination?: string;
- pie?: string;
- pieCombination?: string;
- scatter?: string;
- scatterCombination?: string;
- spline?: string;
- splineCombination?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known series
- * types. The relevant description is added to the screen reader information
- * region when these series types are used.
- */
- export interface LangAccessibilitySeriesTypeDescriptionsOptions {
- arearange?: string;
- areasplinerange?: string;
- boxplot?: string;
- bubble?: string;
- columnrange?: string;
- errorbar?: string;
- funnel?: string;
- pyramid?: string;
- waterfall?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language options for sonification.
- */
- export interface LangAccessibilitySonificationOptions {
- playAsSoundButtonText?: string;
- playAsSoundClickAnnouncement?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options for
- * the data table.
- */
- export interface LangAccessibilityTableOptions {
- tableSummary?: string;
- viewAsDataTableButtonText?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
- * language options.
- */
- export interface LangAccessibilityZoomOptions {
- mapZoomIn?: string;
- mapZoomOut?: string;
- resetZoomButton?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
- */
- export interface LangExportDataOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The annotation column title.
- */
- annotationHeader?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The category column title when
- * axis type set to "datetime".
- */
- categoryDatetimeHeader?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The category column title.
- */
- categoryHeader?: string;
- }
- /**
- * (Highcharts, Highstock) Configure the Popup strings in the chart. Requires
- * the `annotations.js` or `annotations-advanced.src.js` module to be loaded.
- */
- export interface LangNavigationOptions {
- /**
- * (Highcharts, Highstock) Translations for all field names used in popup.
- */
- popup?: LangNavigationPopupOptions;
- }
- /**
- * (Highcharts, Highstock) Translations for all field names used in popup.
- */
- export interface LangNavigationPopupOptions {
- addButton?: string;
- arrowLine?: string;
- arrowRay?: string;
- arrowSegment?: string;
- background?: string;
- backgroundColor?: string;
- backgroundColors?: string;
- borderColor?: string;
- borderRadius?: string;
- borderWidth?: string;
- circle?: string;
- color?: string;
- connector?: string;
- crooked3?: string;
- crooked5?: string;
- crosshairX?: string;
- crosshairY?: string;
- editButton?: string;
- elliott3?: string;
- elliott5?: string;
- fibonacci?: string;
- fill?: string;
- flags?: string;
- fontSize?: string;
- format?: string;
- height?: string;
- horizontalLine?: string;
- infinityLine?: string;
- innerBackground?: string;
- label?: string;
- labelOptions?: string;
- labels?: string;
- line?: string;
- lines?: string;
- measure?: string;
- measureX?: string;
- measureXY?: string;
- measureY?: string;
- name?: string;
- outerBackground?: string;
- padding?: string;
- parallelChannel?: string;
- pitchfork?: string;
- ray?: string;
- rectangle?: string;
- removeButton?: string;
- saveButton?: string;
- segment?: string;
- series?: string;
- shapeOptions?: string;
- shapes?: string;
- simpleShapes?: string;
- stroke?: string;
- strokeWidth?: string;
- style?: string;
- title?: string;
- tunnel?: string;
- typeOptions?: string;
- verticalArrow?: string;
- verticalCounter?: string;
- verticalLabel?: string;
- verticalLine?: string;
- volume?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language object
- * is global and it can't be set on each chart initialization. Instead, use
- * `Highcharts.setOptions` to set it before any chart is initialized. (see
- * online documentation for example)
- */
- export interface LangOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility
- * strings in the chart. Requires the accessibility module to be loaded. For
- * a description of the module and information on its features, see
- * Highcharts Accessibility.
- *
- * For more dynamic control over the accessibility functionality, see
- * accessibility.pointDescriptionFormatter,
- * accessibility.seriesDescriptionFormatter, and
- * accessibility.screenReaderSectionFormatter.
- */
- accessibility?: LangAccessibilityOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module menu. The
- * tooltip title for the context menu holding print and export menu items.
- */
- contextButtonTitle?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The default decimal point used
- * in the `Highcharts.numberFormat` method unless otherwise specified in the
- * function arguments.
- */
- decimalPoint?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
- */
- downloadCSV?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the JPEG download menu item.
- */
- downloadJPEG?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the PDF download menu item.
- */
- downloadPDF?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the PNG download menu item.
- */
- downloadPNG?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the SVG download menu item.
- */
- downloadSVG?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
- */
- downloadXLS?: string;
- /**
- * (Highcharts, Highmaps) The text for the button that appears when drilling
- * down, linking back to the parent series. The parent series' name is
- * inserted for `{series.name}`.
- */
- drillUpText?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the menu item to exit the chart from full screen.
- */
- exitFullscreen?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
- */
- exportData?: LangExportDataOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
- */
- hideData?: string;
- /**
- * (Highcharts, Highstock) What to show in a date field for invalid dates.
- * Defaults to an empty string.
- */
- invalidDate?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The loading text that appears
- * when the chart is set into the loading state following a call to
- * `chart.showLoading`.
- */
- loading?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
- * names. Corresponds to the `%B` format in `Highcharts.dateFormat()`.
- */
- months?: Array<string>;
- /**
- * (Highcharts, Highstock) Configure the Popup strings in the chart.
- * Requires the `annotations.js` or `annotations-advanced.src.js` module to
- * be loaded.
- */
- navigation?: LangNavigationOptions;
- /**
- * (Highcharts, Highstock) The text to display when the chart contains no
- * data.
- */
- noData?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The magnitude of numericSymbols
- * replacements. Use 10000 for Japanese, Korean and various Chinese locales,
- * which use symbols for 10^4, 10^8 and 10^12.
- */
- numericSymbolMagnitude?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Metric prefixes used to shorten
- * high numbers in axis labels. Replacing any of the positions with `null`
- * causes the full number to be written. Setting `numericSymbols` to `null`
- * disables shortening altogether.
- */
- numericSymbols?: Array<string>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the menu item to print the chart.
- */
- printChart?: string;
- /**
- * (Highstock, Gantt) The text for the label for the "from" input box in the
- * range selector.
- */
- rangeSelectorFrom?: string;
- /**
- * (Highstock, Gantt) The text for the label for the "to" input box in the
- * range selector.
- */
- rangeSelectorTo?: string;
- /**
- * (Highstock, Gantt) The text for the label for the range selector buttons.
- */
- rangeSelectorZoom?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for the label appearing
- * when a chart is zoomed.
- */
- resetZoom?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The tooltip title for the label
- * appearing when a chart is zoomed.
- */
- resetZoomTitle?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
- * names in abbreviated form. Corresponds to the `%b` format in
- * `Highcharts.dateFormat()`.
- */
- shortMonths?: Array<string>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Short week days, starting
- * Sunday. If not specified, Highcharts uses the first three letters of the
- * `lang.weekdays` option.
- */
- shortWeekdays?: Array<string>;
- /**
- * (Highstock) Configure the stockTools GUI titles(hints) in the chart.
- * Requires the `stock-tools.js` module to be loaded.
- */
- stockTools?: LangStockToolsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The default thousands separator
- * used in the `Highcharts.numberFormat` method unless otherwise specified
- * in the function arguments. Defaults to a single space character, which is
- * recommended in ISO 31-0 and works across Anglo-American and continental
- * European languages.
- */
- thousandsSep?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
- */
- viewData?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
- * for the menu item to view the chart in full screen.
- */
- viewFullscreen?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array containing the weekday
- * names.
- */
- weekdays?: Array<string>;
- /**
- * (Highmaps) The title appearing on hovering the zoom in button. The text
- * itself defaults to "+" and can be changed in the button options.
- */
- zoomIn?: string;
- /**
- * (Highmaps) The title appearing on hovering the zoom out button. The text
- * itself defaults to "-" and can be changed in the button options.
- */
- zoomOut?: string;
- }
- export interface LangStockToolsGuiOptions {
- advanced?: string;
- arrowLine?: string;
- arrowRay?: string;
- arrowSegment?: string;
- circle?: string;
- crooked3?: string;
- crooked5?: string;
- crookedLines?: string;
- currentPriceIndicator?: string;
- elliott3?: string;
- elliott5?: string;
- fibonacci?: string;
- flagCirclepin?: string;
- flagDiamondpin?: string;
- flags?: string;
- flagSimplepin?: string;
- flagSquarepin?: string;
- fullScreen?: string;
- horizontalLine?: string;
- indicators?: string;
- infinityLine?: string;
- label?: string;
- line?: string;
- lines?: string;
- measure?: string;
- measureX?: string;
- measureXY?: string;
- measureY?: string;
- parallelChannel?: string;
- pitchfork?: string;
- ray?: string;
- rectangle?: string;
- saveChart?: string;
- segment?: string;
- simpleShapes?: string;
- toggleAnnotations?: string;
- typeCandlestick?: string;
- typeChange?: string;
- typeLine?: string;
- typeOHLC?: string;
- verticalArrow?: string;
- verticalCounter?: string;
- verticalLabel?: string;
- verticalLabels?: string;
- verticalLine?: string;
- zoomChange?: string;
- zoomX?: string;
- zoomXY?: string;
- zoomY?: string;
- }
- /**
- * (Highstock) Configure the stockTools GUI titles(hints) in the chart. Requires
- * the `stock-tools.js` module to be loaded.
- */
- export interface LangStockToolsOptions {
- gui?: LangStockToolsGuiOptions;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation for
- * the legend.
- */
- export interface LegendAccessibilityKeyboardNavigationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
- * the legend.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
- * legend. Requires the Accessibility module.
- */
- export interface LegendAccessibilityOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
- * the legend.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation
- * for the legend.
- */
- keyboardNavigation?: LegendAccessibilityKeyboardNavigationOptions;
- }
- /**
- * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
- */
- export interface LegendBubbleLegendLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps) The alignment of the labels compared to
- * the bubble legend. Can be one of `left`, `center` or `right`.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps) Whether to allow data labels to
- * overlap.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) An additional class name to apply to
- * the bubble legend label graphical elements. This option does not replace
- * default class names of the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps) A format string for the bubble legend
- * labels. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps) Available `this` properties are:
- *
- * - `this.value`: The bubble value.
- *
- * - `this.radius`: The radius of the bubble range.
- *
- * - `this.center`: The center y position of the range.
- */
- formatter?: FormatterCallbackFunction<BubbleLegendFormatterContextObject>;
- /**
- * (Highcharts, Highstock, Highmaps) CSS styles for the labels.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps) The x position offset of the label
- * relative to the connector.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The y position offset of the label
- * relative to the connector.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps) The bubble legend is an additional element
- * in legend which presents the scale of the bubble series. Individual bubble
- * ranges can be defined by user or calculated from series. In the case of
- * automatically calculated ranges, a 1px margin of error is permitted.
- */
- export interface LegendBubbleLegendOptions {
- /**
- * (Highcharts, Highstock, Highmaps) The color of the ranges borders, can be
- * also defined for an individual range.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) The width of the ranges borders in
- * pixels, can be also defined for an individual range.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps) An additional class name to apply to
- * the bubble legend' circle graphical elements. This option does not
- * replace default class names of the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps) The main color of the bubble legend.
- * Applies to ranges, if individual color is not defined.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) An additional class name to apply to
- * the bubble legend's connector graphical elements. This option does not
- * replace default class names of the graphical element.
- */
- connectorClassName?: string;
- /**
- * (Highcharts, Highstock, Highmaps) The color of the connector, can be also
- * defined for an individual range.
- */
- connectorColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) The length of the connectors in pixels.
- * If labels are centered, the distance is reduced to 0.
- */
- connectorDistance?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The width of the connectors in pixels.
- */
- connectorWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Enable or disable the bubble legend.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
- */
- labels?: LegendBubbleLegendLabelsOptions;
- /**
- * (Highcharts, Highstock, Highmaps) The position of the bubble legend in
- * the legend.
- */
- legendIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Miximum bubble legend range size. If
- * values for ranges are not specified, the `minSize` and the `maxSize` are
- * calculated from bubble series.
- */
- maxSize?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Minimum bubble legend range size. If
- * values for ranges are not specified, the `minSize` and the `maxSize` are
- * calculated from bubble series.
- */
- minSize?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Options for specific range. One range
- * consists of bubble, label and connector.
- */
- ranges?: Array<LegendBubbleLegendRangesOptions>;
- /**
- * (Highcharts, Highstock, Highmaps) Whether the bubble legend range value
- * should be represented by the area or the width of the bubble. The
- * default, area, corresponds best to the human perception of the size of
- * each bubble.
- */
- sizeBy?: BubbleSizeByValue;
- /**
- * (Highcharts, Highstock, Highmaps) When this is true, the absolute value
- * of z determines the size of the bubble. This means that with the default
- * zThreshold of 0, a bubble of value -1 will have the same size as a bubble
- * of value 1, while a bubble of value 0 will have a smaller size according
- * to minSize.
- */
- sizeByAbsoluteValue?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps) Define the visual z index of the bubble
- * legend.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Ranges with with lower value than
- * zThreshold, are skipped.
- */
- zThreshold?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps) Options for specific range. One range
- * consists of bubble, label and connector.
- */
- export interface LegendBubbleLegendRangesOptions {
- /**
- * (Highcharts, Highstock, Highmaps) The color of the border for individual
- * range.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) The color of the bubble for individual
- * range.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) The color of the connector for
- * individual range.
- */
- connectorColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) Range size value, similar to bubble Z
- * data.
- */
- value?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or navigation
- * appearing when the legend is overflown. Navigation works well on screen, but
- * not in static exported images. One way of working around that is to increase
- * the chart height in export.
- */
- export interface LegendNavigationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color for the active up or
- * down arrow in the legend page navigation.
- */
- activeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to animate the pages when
- * navigating up or down. A value of `true` applies the default navigation
- * given in the `chart.animation` option. Additional options can be given as
- * an object containing values for easing and duration.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the up and
- * down arrows in the legend paging navigation.
- */
- arrowSize?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the legend
- * navigation. In most cases, disabling the navigation results in an
- * unwanted overflow.
- *
- * See also the adapt chart to legend plugin for a solution to extend the
- * chart height to make room for the legend, optionally in exported charts
- * only.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the inactive up or
- * down arrow in the legend page navigation. .
- */
- inactiveColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text styles for the legend page
- * navigation.
- */
- style?: CSSObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
- * symbol and name for each series item or point item in the chart. Each series
- * (or points in case of pie charts) is represented by a symbol and its name in
- * the legend.
- *
- * It is possible to override the symbol creator function and create custom
- * legend symbols.
- */
- export interface LegendOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
- * legend. Requires the Accessibility module.
- */
- accessibility?: LegendAccessibilityOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
- * legend box within the chart area. Valid values are `left`, `center` and
- * `right`.
- *
- * In the case that the legend is aligned in a corner position, the `layout`
- * option will determine whether to place it above/below or on the side of
- * the plot area.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If the layout is `horizontal`
- * and the legend items span over two lines or more, whether to align the
- * items into vertical columns. Setting this to `false` makes room for more
- * items, but will look more messy.
- */
- alignColumns?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
- * legend.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the drawn border
- * around the legend.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border corner radius of the
- * legend.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the drawn border
- * around the legend.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps) The bubble legend is an additional
- * element in legend which presents the scale of the bubble series.
- * Individual bubble ranges can be defined by user or calculated from
- * series. In the case of automatically calculated ranges, a 1px margin of
- * error is permitted.
- */
- bubbleLegend?: LegendBubbleLegendOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the legend.
- * There is also a series-specific option, showInLegend, that can hide the
- * series from the legend. In some series types this is `false` by default,
- * so it must set to `true` in order to show the legend for the series.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When the legend is floating, the
- * plot area ignores it and is allowed to be placed below it.
- */
- floating?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Default styling for the checkbox
- * next to a legend item when `showCheckbox` is true.
- */
- itemCheckboxStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) In a legend with horizontal
- * layout, the itemDistance defines the pixel distance between each item.
- */
- itemDistance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
- * when the corresponding series or point is hidden. Only a subset of CSS is
- * supported, notably those options related to text. Properties are
- * inherited from `style` unless overridden here.
- */
- itemHiddenStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
- * in hover mode. Only a subset of CSS is supported, notably those options
- * related to text. Properties are inherited from `style` unless overridden
- * here.
- */
- itemHoverStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel bottom margin for each
- * legend item.
- */
- itemMarginBottom?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel top margin for each
- * legend item.
- */
- itemMarginTop?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item.
- * Only a subset of CSS is supported, notably those options related to text.
- * The default `textOverflow` property makes long texts truncate. Set it to
- * `undefined` to wrap text instead. A `width` property can be added to
- * control the text width.
- */
- itemStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width for each legend item.
- * By default the items are laid out successively. In a horizontal layout,
- * if the items are laid out across two rows or more, they will be
- * vertically aligned depending on the legend.alignColumns option.
- */
- itemWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for each legend
- * label. Available variables relates to properties on the series, or the
- * point in case of pies.
- */
- labelFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format each
- * of the series' labels. The `this` keyword refers to the series object, or
- * the point object in case of pie charts. By default the series or point
- * name is printed.
- */
- labelFormatter?: FormatterCallbackFunction<(Point|Series)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The layout of the legend items.
- * Can be one of `horizontal` or `vertical` or `proximate`. When
- * `proximate`, the legend items will be placed as close as possible to the
- * graphs they're representing, except in inverted charts or when the legend
- * position doesn't allow it.
- */
- layout?: OptionsLayoutValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If the plot area sized is
- * calculated automatically and the legend is not floating, the legend
- * margin is the space between the legend and the axis labels or plot area.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Maximum pixel height for the
- * legend. When the maximum height is extended, navigation will show.
- */
- maxHeight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or
- * navigation appearing when the legend is overflown. Navigation works well
- * on screen, but not in static exported images. One way of working around
- * that is to increase the chart height in export.
- */
- navigation?: LegendNavigationOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The inner padding of the legend
- * box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the order of
- * the legend items compared to the order of the series or points as defined
- * in the configuration object.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the symbol on
- * the right side of the text rather than the left side. This is common in
- * Arabic and Hebraic.
- */
- rtl?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
- * to the legend. A `backgroundColor` also needs to be applied for this to
- * take effect. The shadow can be an object configuration containing
- * `color`, `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|CSSObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When this is true, the legend
- * symbol width will be the same as the symbol height, which in turn
- * defaults to the font size of the legend items.
- */
- squareSymbol?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel height of the symbol
- * for series types that use a rectangle in the legend. Defaults to the font
- * size of legend items.
- */
- symbolHeight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel padding between the
- * legend item symbol and the legend item text.
- */
- symbolPadding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius of the symbol
- * for series types that use a rectangle in the legend. Defaults to half the
- * `symbolHeight`.
- */
- symbolRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the legend
- * item symbol. When the `squareSymbol` option is set, this defaults to the
- * `symbolHeight`, otherwise 16.
- */
- symbolWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of
- * the legend.
- */
- title?: LegendTitleOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the legend item texts.
- *
- * Prior to 4.1.7, when using HTML, legend.navigation was disabled.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * legend box. Can be one of `top`, `middle` or `bottom`. Vertical position
- * can be further determined by the `y` option.
- *
- * In the case that the legend is aligned in a corner position, the `layout`
- * option will determine whether to place it above/below or on the side of
- * the plot area.
- *
- * When the layout option is `proximate`, the `verticalAlign` option doesn't
- * apply.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the legend box. If
- * a number is set, it translates to pixels. Since v7.0.2 it allows setting
- * a percent string of the full chart width, for example `40%`.
- *
- * Defaults to the full chart width for legends below or above the chart,
- * half the chart width for legends to the left and right.
- */
- width?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x offset of the legend
- * relative to its horizontal alignment `align` within chart.spacingLeft and
- * chart.spacingRight. Negative x moves it to the left, positive x moves it
- * to the right.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
- * legend relative to it's vertical alignment `verticalAlign` within
- * chart.spacingTop and chart.spacingBottom. Negative y moves it up,
- * positive y moves it down.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of the
- * legend.
- */
- export interface LegendTitleOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Generic CSS styles for the
- * legend title.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A text or HTML string for the
- * title.
- */
- text?: string;
- }
- /**
- * Defines the start position and the end position for a gradient relative to
- * the shape. Start position (x1, y1) and end position (x2, y2) are relative to
- * the shape, where 0 means top/left and 1 is bottom/right.
- */
- export interface LinearGradientColorObject {
- /**
- * Start horizontal position of the gradient. Float ranges 0-1.
- */
- x1: number;
- /**
- * End horizontal position of the gradient. Float ranges 0-1.
- */
- x2: number;
- /**
- * Start vertical position of the gradient. Float ranges 0-1.
- */
- y1: number;
- /**
- * End vertical position of the gradient. Float ranges 0-1.
- */
- y2: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
- * appearance of the loading screen that covers the plot area on chart
- * operations. This screen only appears after an explicit call to
- * `chart.showLoading()`. It is a utility for developers to communicate to the
- * end user that something is going on, for example while retrieving new data
- * via an XHR connection. The "Loading..." text itself is not part of this
- * configuration object, but part of the `lang` object.
- */
- export interface LoadingOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
- * the fade out effect.
- */
- hideDuration?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading label
- * `span`.
- */
- labelStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
- * the fade in effect.
- */
- showDuration?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading
- * screen that covers the plot area.
- *
- * In styled mode, the loading label is styled with the
- * `.highcharts-loading` class.
- */
- style?: CSSObject;
- }
- /**
- * (Highmaps) General options for the map navigation buttons. Individual options
- * can be given from the mapNavigation.buttons option set.
- */
- export interface MapNavigationButtonOptions {
- /**
- * (Highmaps) The alignment of the navigation buttons.
- */
- align?: AlignValue;
- /**
- * (Highmaps) What box to align the buttons to. Possible values are
- * `plotBox` and `spacingBox`.
- */
- alignTo?: ButtonRelativeToValue;
- /**
- * (Highmaps) The pixel height of the map navigation buttons.
- */
- height?: number;
- /**
- * (Highmaps) Padding for the navigation buttons.
- */
- padding?: number;
- /**
- * (Highmaps) Text styles for the map navigation buttons.
- */
- style?: CSSObject;
- /**
- * (Highmaps) A configuration object for the button theme. The object
- * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
- * Tri-state button styles are supported by the `states.hover` and
- * `states.select` objects.
- */
- theme?: SVGAttributes;
- /**
- * (Highmaps) The vertical alignment of the buttons. Individual alignment
- * can be adjusted by each button's `y` offset.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highmaps) The width of the map navigation buttons.
- */
- width?: number;
- /**
- * (Highmaps) The X offset of the buttons relative to its `align` setting.
- */
- x?: number;
- }
- /**
- * (Highmaps) The individual buttons for the map navigation. This usually
- * includes the zoom in and zoom out buttons. Properties for each button is
- * inherited from mapNavigation.buttonOptions, while individual options can be
- * overridden. But default, the `onclick`, `text` and `y` options are
- * individual.
- */
- export interface MapNavigationButtonsOptions {
- /**
- * (Highmaps) Options for the zoom in button. Properties for the zoom in and
- * zoom out buttons are inherited from mapNavigation.buttonOptions, while
- * individual options can be overridden. By default, the `onclick`, `text`
- * and `y` options are individual.
- */
- zoomIn?: MapNavigationButtonsZoomInOptions;
- /**
- * (Highmaps) Options for the zoom out button. Properties for the zoom in
- * and zoom out buttons are inherited from mapNavigation.buttonOptions,
- * while individual options can be overridden. By default, the `onclick`,
- * `text` and `y` options are individual.
- */
- zoomOut?: MapNavigationButtonsZoomOutOptions;
- }
- /**
- * (Highmaps) Options for the zoom in button. Properties for the zoom in and
- * zoom out buttons are inherited from mapNavigation.buttonOptions, while
- * individual options can be overridden. By default, the `onclick`, `text` and
- * `y` options are individual.
- */
- export interface MapNavigationButtonsZoomInOptions {
- /**
- * (Highmaps) The alignment of the navigation buttons.
- */
- align?: AlignValue;
- /**
- * (Highmaps) What box to align the buttons to. Possible values are
- * `plotBox` and `spacingBox`.
- */
- alignTo?: ButtonRelativeToValue;
- /**
- * (Highmaps) The pixel height of the map navigation buttons.
- */
- height?: number;
- /**
- * (Highmaps) Click handler for the button.
- */
- onclick?: Function;
- /**
- * (Highmaps) Padding for the navigation buttons.
- */
- padding?: number;
- /**
- * (Highmaps) Text styles for the map navigation buttons.
- */
- style?: CSSObject;
- /**
- * (Highmaps) The text for the button. The tooltip (title) is a language
- * option given by lang.zoomIn.
- */
- text?: string;
- /**
- * (Highmaps) A configuration object for the button theme. The object
- * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
- * Tri-state button styles are supported by the `states.hover` and
- * `states.select` objects.
- */
- theme?: SVGAttributes;
- /**
- * (Highmaps) The vertical alignment of the buttons. Individual alignment
- * can be adjusted by each button's `y` offset.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highmaps) The width of the map navigation buttons.
- */
- width?: number;
- /**
- * (Highmaps) The X offset of the buttons relative to its `align` setting.
- */
- x?: number;
- /**
- * (Highmaps) The position of the zoomIn button relative to the vertical
- * alignment.
- */
- y?: number;
- }
- /**
- * (Highmaps) Options for the zoom out button. Properties for the zoom in and
- * zoom out buttons are inherited from mapNavigation.buttonOptions, while
- * individual options can be overridden. By default, the `onclick`, `text` and
- * `y` options are individual.
- */
- export interface MapNavigationButtonsZoomOutOptions {
- /**
- * (Highmaps) The alignment of the navigation buttons.
- */
- align?: AlignValue;
- /**
- * (Highmaps) What box to align the buttons to. Possible values are
- * `plotBox` and `spacingBox`.
- */
- alignTo?: ButtonRelativeToValue;
- /**
- * (Highmaps) The pixel height of the map navigation buttons.
- */
- height?: number;
- /**
- * (Highmaps) Click handler for the button.
- */
- onclick?: Function;
- /**
- * (Highmaps) Padding for the navigation buttons.
- */
- padding?: number;
- /**
- * (Highmaps) Text styles for the map navigation buttons.
- */
- style?: CSSObject;
- /**
- * (Highmaps) The text for the button. The tooltip (title) is a language
- * option given by lang.zoomOut.
- */
- text?: string;
- /**
- * (Highmaps) A configuration object for the button theme. The object
- * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
- * Tri-state button styles are supported by the `states.hover` and
- * `states.select` objects.
- */
- theme?: SVGAttributes;
- /**
- * (Highmaps) The vertical alignment of the buttons. Individual alignment
- * can be adjusted by each button's `y` offset.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highmaps) The width of the map navigation buttons.
- */
- width?: number;
- /**
- * (Highmaps) The X offset of the buttons relative to its `align` setting.
- */
- x?: number;
- /**
- * (Highmaps) The position of the zoomOut button relative to the vertical
- * alignment.
- */
- y?: number;
- }
- export interface MapNavigationOptions {
- /**
- * (Highmaps) General options for the map navigation buttons. Individual
- * options can be given from the mapNavigation.buttons option set.
- */
- buttonOptions?: MapNavigationButtonOptions;
- /**
- * (Highmaps) The individual buttons for the map navigation. This usually
- * includes the zoom in and zoom out buttons. Properties for each button is
- * inherited from mapNavigation.buttonOptions, while individual options can
- * be overridden. But default, the `onclick`, `text` and `y` options are
- * individual.
- */
- buttons?: MapNavigationButtonsOptions;
- /**
- * (Highmaps) Whether to enable navigation buttons. By default it inherits
- * the enabled setting.
- */
- enableButtons?: boolean;
- /**
- * (Highmaps) Whether to enable map navigation. The default is not to enable
- * navigation, as many choropleth maps are simple and don't need it.
- * Additionally, when touch zoom and mousewheel zoom is enabled, it breaks
- * the default behaviour of these interactions in the website, and the
- * implementer should be aware of this.
- *
- * Individual interactions can be enabled separately, namely buttons,
- * multitouch zoom, double click zoom, double click zoom to element and
- * mousewheel zoom.
- */
- enabled?: boolean;
- /**
- * (Highmaps) Enables zooming in on an area on double clicking in the map.
- * By default it inherits the enabled setting.
- */
- enableDoubleClickZoom?: boolean;
- /**
- * (Highmaps) Whether to zoom in on an area when that area is double
- * clicked.
- */
- enableDoubleClickZoomTo?: boolean;
- /**
- * (Highmaps) Enables zooming by mouse wheel. By default it inherits the
- * enabled setting.
- */
- enableMouseWheelZoom?: boolean;
- /**
- * (Highmaps) Whether to enable multitouch zooming. Note that if the chart
- * covers the viewport, this prevents the user from using multitouch and
- * touchdrag on the web page, so you should make sure the user is not
- * trapped inside the chart. By default it inherits the enabled setting.
- */
- enableTouchZoom?: boolean;
- /**
- * (Highmaps) Sensitivity of mouse wheel or trackpad scrolling. 1 is no
- * sensitivity, while with 2, one mousewheel delta will zoom in 50%.
- */
- mouseWheelSensitivity?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `annotation`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface NavigationAnnotationsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders annotation immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- export interface NavigationAnnotationsControlPointStyleOptions {
- fill?: string;
- stroke?: string;
- "stroke-width"?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
- */
- export interface NavigationAnnotationsEventsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
- * is added to the chart.
- */
- add?: EventCallbackFunction<Annotation>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
- * is updated (e.g. drag and droppped or resized by control points).
- */
- afterUpdate?: EventCallbackFunction<Annotation>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
- * is removed from the chart.
- */
- remove?: EventCallbackFunction<Annotation>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
- * Each label inherits options from the labelOptions object. An option from the
- * labelOptions can be overwritten by config for a specific label.
- */
- export interface NavigationAnnotationsLabelOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
- * annotation's label. If right, the right side of the label should be
- * touching the point.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
- * annotation's labels to overlap. To make the labels less sensitive for
- * overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
- * annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
- * label that is outside the plot area.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
- * the point.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the annotation's label. Note that if a `format` or `text` are
- * defined, the format or text take precedence and the formatter is ignored.
- * `This` refers to a point object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
- * visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
- * label that flow outside the plot area. The justify option aligns the
- * label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
- * the backgroundColor is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
- * shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
- * label.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
- * annotation. For options that apply to multiple labels, they can be added to
- * the labelOptions.
- */
- export interface NavigationAnnotationsLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * annotation label.
- */
- accessibility?: AnnotationLabelAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
- * annotation's label. If right, the right side of the label should be
- * touching the point.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
- * annotation's labels to overlap. To make the labels less sensitive for
- * overlapping, the can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the annotation's label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
- * annotation's label.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the annotaiton's label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the annotation's label
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
- * label that is outside the plot area.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
- * the point.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the annotation's label. Note that if a `format` or `text` are
- * defined, the format or text take precedence and the formatter is ignored.
- * `This` refers to a point object.
- */
- formatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
- * visible in the exported data table.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
- * label that flow outside the plot area. The justify option aligns the
- * label inside the plot area.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
- * the backgroundColor is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
- * which the label will be connected. It can be either the point which
- * exists in the series - it is referenced by the point's id - or a new
- * point with defined x, y properties and optionally axes.
- */
- point?: (string|AnnotationMockPointOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
- * shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
- * label.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the annotation's label.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * annotation's label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point. Note that if a `distance` is defined, the
- * distance takes precedence over `x` and `y` options.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged into
- * all annotations.
- */
- export interface NavigationAnnotationsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `annotation`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|NavigationAnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
- * points. Each control point inherits options from controlPointOptions
- * object. Options from the controlPointOptions can be overwritten by
- * options in a specific control point.
- */
- controlPointOptions?: AnnotationControlPointOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
- * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
- * (disabled).
- */
- draggable?: AnnotationDraggableValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
- */
- events?: NavigationAnnotationsEventsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
- * Can be user later when removing an annotation in
- * Chart.removeAnnotation(id) method.
- */
- id?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
- * Each label inherits options from the labelOptions object. An option from
- * the labelOptions can be overwritten by config for a specific label.
- */
- labelOptions?: NavigationAnnotationsLabelOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
- * annotation. For options that apply to multiple labels, they can be added
- * to the labelOptions.
- */
- labels?: Array<NavigationAnnotationsLabelsOptions>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
- * Each shape inherits options from the shapeOptions object. An option from
- * the shapeOptions can be overwritten by config for a specific shape.
- */
- shapeOptions?: NavigationAnnotationsShapeOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
- * annotation. For options that apply to multiple shapes, then can be added
- * to the shapeOptions.
- */
- shapes?: Array<NavigationAnnotationsShapesOptions>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
- * visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
- * Each shape inherits options from the shapeOptions object. An option from the
- * shapeOptions can be overwritten by config for a specific shape.
- */
- export interface NavigationAnnotationsShapeOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
- * for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
- */
- height?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
- */
- r?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
- * around an annotation making this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
- * the annotation shape. Note, type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
- * shape.
- */
- strokeWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
- * circle or rectangle.
- */
- type?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
- * annotation. For options that apply to multiple shapes, then can be added to
- * the shapeOptions.
- */
- export interface NavigationAnnotationsShapesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
- * for the shape's stroke.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
- */
- height?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
- * drawn at the final vertex of the path. Custom markers can be defined in
- * defs property.
- */
- markerEnd?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
- * drawn at the first vertex of the path. Custom markers can be defined in
- * defs property.
- */
- markerStart?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
- * which the shape will be connected. It can be either the point which
- * exists in the series - it is referenced by the point's id - or a new
- * point with defined x, y properties and optionally axes.
- */
- point?: (string|AnnotationMockPointOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
- * shape. This option is available for shapes which can use multiple points
- * such as path. A point can be either a point object or a point's id.
- */
- points?: Array<(string|AnnotationMockPointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
- */
- r?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
- * around an annotation making this annotation to focus. Defined in pixels.
- */
- snap?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
- * the annotation shape. Note, type has to be set to `'image'`.
- */
- src?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
- */
- stroke?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
- * shape.
- */
- strokeWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
- * circle or rectangle.
- */
- type?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
- */
- width?: number;
- }
- /**
- * (Highcharts, Highstock) Bindings definitions for custom HTML buttons. Each
- * binding implements simple event-driven interface:
- *
- * - `className`: classname used to bind event to
- *
- * - `init`: initial event, fired on button click
- *
- * - `start`: fired on first click on a chart
- *
- * - `steps`: array of sequential events fired one after another on each of
- * users clicks
- *
- * - `end`: last event to be called after last step event
- */
- export interface NavigationBindingsOptions {
- /**
- * (Highstock) A line with arrow annotation. Includes `start` and one event
- * in `steps` array.
- */
- arrowInfinityLine?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A ray with an arrow annotation bindings. Includes `start` and
- * one event in `steps` array.
- */
- arrowRay?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A segment with an arrow annotation bindings. Includes `start`
- * and one event in `steps` array.
- */
- arrowSegment?: NavigationBindingsOptionsObject;
- /**
- * (Highcharts, Highstock) A circle annotation bindings. Includes `start`
- * and one event in `steps` array.
- */
- circleAnnotation?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Crooked line (three points) annotation bindings. Includes
- * `start` and two events in `steps` (for second and third points in crooked
- * line) array.
- */
- crooked3?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Crooked line (five points) annotation bindings. Includes
- * `start` and four events in `steps` (for all consequent points in crooked
- * line) array.
- */
- crooked5?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Hides/shows two price indicators:
- *
- * - last price in the dataset
- *
- * - last price in the selected range
- */
- currentPriceIndicator?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Elliott wave (three points) annotation bindings. Includes
- * `start` and two events in `steps` (for second and third points) array.
- */
- elliott3?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Elliott wave (five points) annotation bindings. Includes
- * `start` and four event in `steps` (for all consequent points in Elliott
- * wave) array.
- */
- elliott5?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A fibonacci annotation bindings. Includes `start` and two
- * events in `steps` array (updates second point, then height).
- */
- fibonacci?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A flag series bindings. Includes `start` event. On click,
- * finds the closest point and marks it with a flag with `'circlepin'`
- * shape.
- */
- flagCirclepin?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A flag series bindings. Includes `start` event. On click,
- * finds the closest point and marks it with a flag with `'diamondpin'`
- * shape.
- */
- flagDiamondpin?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A flag series bindings. Includes `start` event. On click,
- * finds the closest point and marks it with a flag without pin shape.
- */
- flagSimplepin?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A flag series bindings. Includes `start` event. On click,
- * finds the closest point and marks it with a flag with `'squarepin'`
- * shape.
- */
- flagSquarepin?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Displays chart in fullscreen.
- *
- * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
- */
- fullScreen?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A horizontal line annotation. Includes `start` event.
- */
- horizontalLine?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Indicators bindings. Includes `init` event to show a popup.
- *
- * Note: In order to show base series from the chart in the popup's dropdown
- * each series requires series.id to be defined.
- */
- indicators?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A line annotation. Includes `start` and one event in `steps`
- * array.
- */
- infinityLine?: NavigationBindingsOptionsObject;
- /**
- * (Highcharts, Highstock) A label annotation bindings. Includes `start`
- * event only.
- */
- labelAnnotation?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A measure (x-dimension) annotation bindings. Includes `start`
- * and one event in `steps` array.
- */
- measureX?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A measure (xy-dimension) annotation bindings. Includes
- * `start` and one event in `steps` array.
- */
- measureXY?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A measure (y-dimension) annotation bindings. Includes `start`
- * and one event in `steps` array.
- */
- measureY?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A parallel channel (tunnel) annotation bindings. Includes
- * `start` and two events in `steps` array (updates second point, then
- * height).
- */
- parallelChannel?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) An Andrew's pitchfork annotation bindings. Includes `start`
- * and two events in `steps` array (sets second and third control points).
- */
- pitchfork?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A ray annotation bindings. Includes `start` and one event in
- * `steps` array.
- */
- ray?: NavigationBindingsOptionsObject;
- /**
- * (Highcharts, Highstock) A rectangle annotation bindings. Includes `start`
- * and one event in `steps` array.
- */
- rectangleAnnotation?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Save a chart in localStorage under `highcharts-chart` key.
- * Stored items:
- *
- * - annotations
- *
- * - indicators (with yAxes)
- *
- * - flags
- */
- saveChart?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A segment annotation bindings. Includes `start` and one event
- * in `steps` array.
- */
- segment?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Changes main series to `'candlestick'` type.
- */
- seriesTypeCandlestick?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Changes main series to `'line'` type.
- */
- seriesTypeLine?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Changes main series to `'ohlc'` type.
- */
- seriesTypeOhlc?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Hides/shows all annotations on a chart.
- */
- toggleAnnotations?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
- * On click, finds the closest point and marks it with an arrow. Green arrow
- * when pointing from above, red when pointing from below the point.
- */
- verticalArrow?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A vertical counter annotation bindings. Includes `start`
- * event. On click, finds the closest point and marks it with a numeric
- * annotation - incrementing counter on each add.
- */
- verticalCounter?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
- * On click, finds the closest point and marks it with an arrow and a label
- * with value.
- */
- verticalLabel?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) A vertical line annotation. Includes `start` event.
- */
- verticalLine?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Enables zooming in xAxis on a chart. Includes `start` event
- * which changes chart.zoomType.
- */
- zoomX?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Enables zooming in xAxis and yAxis on a chart. Includes
- * `start` event which changes chart.zoomType.
- */
- zoomXY?: NavigationBindingsOptionsObject;
- /**
- * (Highstock) Enables zooming in yAxis on a chart. Includes `start` event
- * which changes chart.zoomType.
- */
- zoomY?: NavigationBindingsOptionsObject;
- }
- /**
- * A config object for navigation bindings in annotations.
- */
- export interface NavigationBindingsOptionsObject {
- /**
- * ClassName of the element for a binding.
- */
- className?: string;
- /**
- * Last event to be fired after last step event.
- */
- end?: Function;
- /**
- * Initial event, fired on a button click.
- */
- init?: Function;
- /**
- * Event fired on first click on a chart.
- */
- start?: Function;
- /**
- * Last event to be fired after last step event. Array of step events to be
- * called sequentially after each user click.
- */
- steps?: Array<Function>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
- * appearing in the exporting module.
- *
- * In styled mode, the buttons are styled with the `.highcharts-contextbutton`
- * and `.highcharts-button-symbol` classes.
- */
- export interface NavigationButtonOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
- * buttons.
- */
- buttonSpacing?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
- */
- height?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fill color for the symbol within
- * the button.
- */
- symbolFill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
- * the button.
- */
- symbolSize?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
- * or line.
- */
- symbolStroke?: ColorString;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
- * symbol on the button.
- */
- symbolStrokeWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
- * the symbol inside the button.
- */
- symbolX?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
- * the symbol inside the button.
- */
- symbolY?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
- * individual button.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
- * button theme. The object accepts SVG properties like `stroke-width`,
- * `stroke` and `fill`. Tri-state button styles are supported by the
- * `states.hover` and `states.select` objects.
- */
- theme?: NavigationButtonThemeOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
- * button's position relative to its `verticalAlign`.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
- * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
- * and `fill`. Tri-state button styles are supported by the `states.hover` and
- * `states.select` objects.
- */
- export interface NavigationButtonThemeOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
- * capture hover events.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
- */
- stroke?: ColorString;
- }
- /**
- * (Highcharts, Highstock) Events to communicate between Stock Tools and custom
- * GUI.
- */
- export interface NavigationEventsOptions {
- /**
- * (Highcharts, Highstock) A `closePopup` event. Fired when Popup should be
- * hidden, for example when clicking on an annotation again.
- */
- closePopup?: Function;
- /**
- * (Highcharts, Highstock) Event fired when button state should change, for
- * example after adding an annotation.
- */
- deselectButton?: Function;
- /**
- * (Highcharts, Highstock) Event fired on a button click.
- */
- selectButton?: Function;
- /**
- * (Highcharts, Highstock) A `showPopup` event. Fired when selecting for
- * example an annotation.
- */
- showPopup?: Function;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
- * and menus appearing in the exporting module.
- */
- export interface NavigationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged
- * into all annotations.
- */
- annotationsOptions?: (AnnotationsOptions|NavigationAnnotationsOptions);
- /**
- * (Highcharts, Highstock) Bindings definitions for custom HTML buttons.
- * Each binding implements simple event-driven interface:
- *
- * - `className`: classname used to bind event to
- *
- * - `init`: initial event, fired on button click
- *
- * - `start`: fired on first click on a chart
- *
- * - `steps`: array of sequential events fired one after another on each of
- * users clicks
- *
- * - `end`: last event to be called after last step event
- */
- bindings?: (NavigationBindingsOptions|Dictionary<NavigationBindingsOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name where all
- * bindings will be attached to. Multiple charts on the same page should
- * have separate class names to prevent duplicating events.
- *
- * Default value of versions < 7.0.4 `highcharts-bindings-wrapper`
- */
- bindingsClassName?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
- * buttons appearing in the exporting module.
- *
- * In styled mode, the buttons are styled with the
- * `.highcharts-contextbutton` and `.highcharts-button-symbol` classes.
- */
- buttonOptions?: NavigationButtonOptions;
- /**
- * (Highcharts, Highstock) Events to communicate between Stock Tools and
- * custom GUI.
- */
- events?: NavigationEventsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
- * for icons. Change this to use icons from a different server.
- */
- iconsURL?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the hover state
- * of the individual items within the popup menu appearing by default when
- * the export icon is clicked. The menu items are rendered in HTML.
- */
- menuItemHoverStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the individual
- * items within the popup menu appearing by default when the export icon is
- * clicked. The menu items are rendered in HTML. Font size defaults to
- * `11px` on desktop and `14px` on touch devices.
- */
- menuItemStyle?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the popup menu
- * appearing by default when the export icon is clicked. This menu is
- * rendered in HTML.
- */
- menuStyle?: CSSObject;
- }
- /**
- * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
- */
- export interface NavigatorHandlesOptions {
- /**
- * (Highstock, Gantt) The fill for the handle.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The stroke for the handle border and the stripes
- * inside.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) Allows to enable/disable handles.
- */
- enabled?: boolean;
- /**
- * (Highstock, Gantt) Height for handles.
- */
- height?: number;
- /**
- * (Highstock, Gantt) The width for the handle border and the stripes
- * inside.
- */
- lineWidth?: number;
- /**
- * (Highstock, Gantt) Array to define shapes of handles. 0-index for left,
- * 1-index for right.
- *
- * Additionally, the URL to a graphic can be given on this form:
- * `url(graphic.png)`. Note that for the image to be applied to exported
- * charts, its URL needs to be accessible by the export server.
- *
- * Custom callbacks for symbol path generation can also be added to
- * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
- * its method name, as shown in the demo.
- */
- symbols?: Array<string>;
- /**
- * (Highstock, Gantt) Width for handles.
- */
- width?: number;
- }
- /**
- * (Highstock, Gantt) The navigator is a small series below the main series,
- * displaying a view of the entire data set. It provides tools to zoom in and
- * out on parts of the data as well as panning across the dataset.
- */
- export interface NavigatorOptions {
- /**
- * (Highstock, Gantt) Whether the navigator and scrollbar should adapt to
- * updated data in the base X axis. When loading data async, as in the demo
- * below, this should be `false`. Otherwise new data will trigger navigator
- * redraw, which will cause unwanted looping. In the demo below, the data in
- * the navigator is set only once. On navigating, only the main chart
- * content is updated.
- */
- adaptToUpdatedData?: boolean;
- /**
- * (Highstock, Gantt) Enable or disable the navigator.
- */
- enabled?: boolean;
- /**
- * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
- */
- handles?: NavigatorHandlesOptions;
- /**
- * (Highstock, Gantt) The height of the navigator.
- */
- height?: number;
- /**
- * (Highstock, Gantt) The distance from the nearest element, the X axis or X
- * axis labels.
- */
- margin?: number;
- /**
- * (Highstock, Gantt) The color of the mask covering the areas of the
- * navigator series that are currently not visible in the main series. The
- * default color is bluish with an opacity of 0.3 to see the series below.
- */
- maskFill?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) Whether the mask should be inside the range marking
- * the zoomed range, or outside. In Highstock 1.x it was always `false`.
- */
- maskInside?: boolean;
- /**
- * (Highstock, Gantt) When the chart is inverted, whether to draw the
- * navigator on the opposite side.
- */
- opposite?: boolean;
- /**
- * (Highstock, Gantt) The color of the line marking the currently zoomed
- * area in the navigator.
- */
- outlineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The width of the line marking the currently zoomed
- * area in the navigator.
- */
- outlineWidth?: number;
- /**
- * (Highstock, Gantt) Options for the navigator series. Available options
- * are the same as any series, documented at plotOptions and series.
- *
- * Unless data is explicitly defined on navigator.series, the data is
- * borrowed from the first series in the chart.
- *
- * Default series options for the navigator series are: (see online
- * documentation for example)
- */
- series?: (NavigatorSeriesOptions|SeriesOptionsType|Array<NavigatorSeriesOptions>|Array<SeriesOptionsType>);
- /**
- * (Highstock, Gantt) Options for the navigator X axis. Default series
- * options for the navigator xAxis are: (see online documentation for
- * example)
- */
- xAxis?: (NavigatorXAxisOptions|Array<NavigatorXAxisOptions>);
- /**
- * (Highstock, Gantt) Options for the navigator Y axis. Default series
- * options for the navigator yAxis are: (see online documentation for
- * example)
- */
- yAxis?: (NavigatorYAxisOptions|Array<NavigatorYAxisOptions>);
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface NavigatorSeriesDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the navigator
- * series. Data labels are disabled by default on the navigator series.
- */
- export interface NavigatorSeriesDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|NavigatorSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- zIndex?: number;
- }
- export interface NavigatorSeriesMarkerOptions {
- enabled?: boolean;
- }
- /**
- * (Highstock, Gantt) Options for the navigator series. Available options are
- * the same as any series, documented at plotOptions and series.
- *
- * Unless data is explicitly defined on navigator.series, the data is borrowed
- * from the first series in the chart.
- *
- * Default series options for the navigator series are: (see online
- * documentation for example)
- */
- export interface NavigatorSeriesOptions {
- className?: string;
- /**
- * (Highstock, Gantt) Sets the fill color of the navigator series.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Unless data is explicitly defined, the data is borrowed from
- * the first series in the chart.
- */
- data?: Array<(number|Array<(number|string|null)>|object|null)>;
- /**
- * (Highstock) Data grouping options for the navigator series.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the
- * navigator series. Data labels are disabled by default on the navigator
- * series.
- */
- dataLabels?: (NavigatorSeriesDataLabelsOptions|Array<NavigatorSeriesDataLabelsOptions>);
- /**
- * (Highstock, Gantt) The fill opacity of the navigator series.
- */
- fillOpacity?: number;
- id?: string;
- /**
- * (Highstock, Gantt) Line color for the navigator series. Allows setting
- * the color while disallowing the default candlestick setting.
- */
- lineColor?: (ColorString|null);
- /**
- * (Highstock, Gantt) The pixel line width of the navigator series.
- */
- lineWidth?: number;
- marker?: NavigatorSeriesMarkerOptions;
- /**
- * (Highstock) Since Highstock v8, default value is the same as default
- * `pointRange` defined for a specific type (e.g. `null` for column type).
- *
- * In Highstock version < 8, defaults to 0.
- */
- pointRange?: (number|null);
- /**
- * (Highstock, Gantt) The threshold option. Setting it to 0 will make the
- * default navigator area series draw its area from the 0 value and up.
- */
- threshold?: (number|null);
- /**
- * (Highstock, Gantt) The type of the navigator series.
- *
- * Heads up: In column-type navigator, zooming is limited to at least one
- * point with its `pointRange`.
- */
- type?: string;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to each
- * other.
- */
- export interface NavigatorXAxisBreaksOptions {
- /**
- * (Highcharts, Highstock, Gantt) A number indicating how much space should
- * be left between the start and the end of the break. The break size is
- * given in axis units, so for instance on a `datetime` axis, a break size
- * of 3600000 would indicate the equivalent of an hour.
- */
- breakSize?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break starts.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) Defines an interval after which the break
- * appears again. By default the breaks do not repeat.
- */
- repeat?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break ends.
- */
- to?: number;
- }
- /**
- * (Gantt) An object defining mouse events for the plot line. Supported
- * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface NavigatorXAxisCurrentDateIndicatorEventsOptions {
- /**
- * (Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse out event on the corner of a plot band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Gantt) Text labels for the plot bands
- */
- export interface NavigatorXAxisCurrentDateIndicatorLabelOptions {
- /**
- * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
- * or "right".
- */
- align?: AlignValue;
- /**
- * (Gantt) Format of the label. This options is passed as the fist argument
- * to dateFormat function.
- */
- format?: string;
- /**
- * (Gantt) Callback JavaScript function to format the label. Useful
- * properties like the value of plot line or the range of plot band (`from`
- * & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
- * horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The text itself. A subset of HTML is supported.
- */
- text?: string;
- /**
- * (Gantt) The text alignment for the label. While `align` determines where
- * the texts anchor point is placed within the plot band, `textAlign`
- * determines how the text is aligned against its anchor point. Possible
- * values are "left", "center" and "right". Defaults to the same as the
- * `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Gantt) Vertical alignment of the label relative to the plot line. Can be
- * one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Horizontal position relative the alignment. Default varies by
- * orientation.
- */
- x?: number;
- /**
- * (Gantt) Vertical position of the text baseline relative to the alignment.
- * Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highstock, Gantt) Event handlers for the axis.
- */
- export interface NavigatorXAxisEventsOptions {
- /**
- * (Highcharts, Gantt) An event fired after the breaks have rendered.
- */
- afterBreaks?: AxisEventCallbackFunction;
- /**
- * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
- * fires after the final min and max values are computed and corrected for
- * `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Gantt) An event fired when a break from this axis occurs on
- * a point.
- */
- pointBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
- * break from this axis.
- */
- pointInBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highstock, Gantt) Fires when the minimum and maximum is set for the
- * axis, either by calling the `.setExtremes()` method or by selecting an
- * area in the chart. One parameter, `event`, is passed to the function,
- * containing common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface NavigatorXAxisGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Highstock, Gantt) The axis labels show the number or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
- * `tickInterval` and `step` is set to 1.
- */
- export interface NavigatorXAxisLabelsOptions {
- /**
- * (Highstock, Gantt) What part of the string the given position is anchored
- * to. If `left`, the left side of the string is at the axis position. Can
- * be one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
- * guess based on which side of the chart the axis is on and the rotation of
- * the label.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
- * the perimeter of the plot area.
- */
- distance?: number;
- /**
- * (Highstock, Gantt) Enable or disable the axis labels.
- */
- enabled?: boolean;
- /**
- * (Highstock, Gantt) A format string for the axis label.
- */
- format?: string;
- /**
- * (Highstock, Gantt) Callback JavaScript function to format the label. The
- * value is given by `this.value`. Additional properties for `this` are
- * `axis`, `chart`, `isFirst` and `isLast`. The value of the default label
- * formatter can be retrieved by calling
- * `this.axis.defaultLabelFormatter.call(this)` within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
- * If set to `"allow"`, it will not be aligned at all. By default it
- * `"justify"` labels inside the chart area. If there is room to move it, it
- * will be aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highstock, Gantt) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
- * the labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
- * step to _n_. Setting the step to 2 shows every other label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
- * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
- * prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highstock, Gantt) The x position offset of all labels relative to the
- * tick positions on the axis.
- */
- x?: number;
- /**
- * (Highstock, Gantt) The y position offset of all labels relative to the
- * tick positions on the axis. The default makes it adapt to the font size
- * of the bottom axis.
- */
- y?: number;
- /**
- * (Highstock, Gantt) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Highstock, Gantt) Options for the navigator X axis. Default series options
- * for the navigator xAxis are: (see online documentation for example)
- */
- export interface NavigatorXAxisOptions {
- /**
- * (Highstock, Gantt) Accessibility options for an axis. Requires the
- * accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
- * counting integers, like persons or hits on a web page, decimals should be
- * avoided in the labels.
- */
- allowDecimals?: boolean;
- /**
- * (Highstock, Gantt) When using an alternate grid color, a band is painted
- * across the plot area between every other grid line.
- */
- alternateGridColor?: ColorType;
- /**
- * (Highcharts) In a polar chart, this is the angle of the Y axis in
- * degrees, where 0 is up and 90 is right. The angle determines the position
- * of the axis line and the labels, though the coordinate system is
- * unaffected. Since v8.0.0 this option is also applicable for X axis
- * (inverted polar).
- */
- angle?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to
- * each other.
- */
- breaks?: Array<NavigatorXAxisBreaksOptions>;
- /**
- * (Highcharts, Gantt) If categories are present for the xAxis, names are
- * used instead of numbers for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- *
- * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
- */
- categories?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
- * especially in Highcharts styled mode. The class name is applied to group
- * elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Highstock, Gantt) Configure a crosshair that follows either the mouse
- * pointer or the hovered point.
- *
- * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
- * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
- */
- crosshair?: (boolean|AxisCrosshairOptions);
- /**
- * (Gantt) Show an indicator on the axis for the current date and time. Can
- * be a boolean or a configuration object similar to xAxis.plotLines.
- */
- currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations
- * used for each unit. For intermediate values, different units may be used,
- * for example the `day` unit can be used on midnight and `hour` unit be
- * used for intermediate values on the same axis. For grid axes (like in
- * Gantt charts), it is possible to declare as a list to provide different
- * formats depending on available space. For an overview of the replacement
- * codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
- /**
- * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
- * option with the `maxPadding` option to control the axis end.
- */
- endOnTick?: boolean;
- /**
- * (Highstock, Gantt) Event handlers for the axis.
- */
- events?: NavigatorXAxisEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: NavigatorXAxisGridOptions;
- /**
- * (Highstock, Gantt) Color of the grid lines extending the ticks across the
- * plot area.
- *
- * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
- */
- gridLineColor?: string;
- /**
- * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
- * values, see this demonstration.
- */
- gridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Polar charts only. Whether the grid lines should draw as a
- * polygon with straight lines between categories, or as circles. Can be
- * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
- * for X axis (inverted polar).
- */
- gridLineInterpolation?: OptionsGridLineInterpolationValue;
- /**
- * (Highstock, Gantt) The width of the grid lines extending the ticks across
- * the plot area.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- gridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highcharts, Highstock) The height as the vertical axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the total plot height.
- */
- height?: (number|string);
- /**
- * (Highstock, Gantt) An id for the axis. This can be used after render time
- * to get a pointer to the axis object through `chart.get()`.
- */
- id?: string;
- /**
- * (Highstock, Gantt) The axis labels show the number or category for each
- * tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating
- * data if `tickInterval` and `step` is set to 1.
- */
- labels?: NavigatorXAxisLabelsOptions;
- /**
- * (Highcharts, Highstock) The left position as the horizontal axis. If it's
- * a number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the plot width, offset from plot area left.
- */
- left?: (number|string);
- /**
- * (Highstock, Gantt) The color of the line marking the axis itself.
- *
- * In styled mode, the line stroke is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineColor?: ColorType;
- /**
- * (Highstock, Gantt) The width of the line marking the axis itself.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineWidth?: number;
- /**
- * (Highstock, Gantt) If there are multiple axes on the same side of the
- * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
- * 15 on horizontal axes.
- */
- margin?: number;
- /**
- * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
- * value is automatically calculated.
- *
- * If the endOnTick option is true, the `max` value might be rounded up.
- *
- * If a tickAmount is set, the axis may be extended beyond the set max in
- * order to reach the given number of ticks. The same may happen in a chart
- * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
- * is applied internally.
- */
- max?: (number|null);
- /**
- * (Highstock, Gantt) Padding of the max value relative to the length of the
- * axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful
- * when you don't want the highest data value to appear on the edge of the
- * plot area. When the axis' `max` option is set or a max extreme is set
- * using `axis.setExtremes()`, the maxPadding will be ignored.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
- * is automatically calculated.
- *
- * If the startOnTick option is true (default), the `min` value might be
- * rounded down.
- *
- * The automatically calculated minimum value is also affected by floor,
- * softMin, minPadding, minRange as well as series.threshold and
- * series.softThreshold.
- */
- min?: (number|null);
- /**
- * (Highstock, Gantt) Color of the minor, secondary grid lines.
- *
- * In styled mode, the stroke width is given in the
- * `.highcharts-minor-grid-line` class.
- */
- minorGridLineColor?: ColorType;
- /**
- * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
- * possible values, see this demonstration.
- */
- minorGridLineDashStyle?: DashStyleValue;
- /**
- * (Highstock, Gantt) Width of the minor, secondary grid lines.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- minorGridLineWidth?: number;
- /**
- * (Highstock, Gantt) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highstock, Gantt) Specific tick interval in axis units for the minor
- * ticks. On a linear axis, if `"auto"`, the minor tick interval is
- * calculated as a fifth of the tickInterval. If `null` or `undefined`,
- * minor ticks are not shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highstock, Gantt) The pixel length of the minor tick marks.
- */
- minorTickLength?: number;
- /**
- * (Highstock, Gantt) The position of the minor tick marks relative to the
- * axis line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highstock, Gantt) Enable or disable minor ticks. Unless
- * minorTickInterval is set, the tick interval is calculated as a fifth of
- * the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highstock, Gantt) The pixel width of the minor tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the lowest data value to appear on the
- * edge of the plot area. When the axis' `min` option is set or a min
- * extreme is set using `axis.setExtremes()`, the minPadding will be
- * ignored.
- */
- minPadding?: number;
- /**
- * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
- * example on zooming in on an axis with daily data, this can be used to
- * prevent the axis from showing hours. Defaults to the closest distance
- * between two points on the axis.
- */
- minTickInterval?: number;
- /**
- * (Highstock, Gantt) The distance in pixels from the plot area to the axis
- * line. A positive offset moves the axis with it's line, labels and ticks
- * away from the plot area. This is typically used when two or more axes are
- * displayed on the same side of the plot. With multiple axes the offset is
- * dynamically adjusted to avoid collision, this can be overridden by
- * setting offset explicitly.
- */
- offset?: number;
- /**
- * (Highstock) In an ordinal axis, the points are equally spaced in the
- * chart regardless of the actual time or x distance between them. This
- * means that missing data periods (e.g. nights or weekends for a stock
- * chart) will not take up space in the chart. Having `ordinal: false` will
- * show any gaps created by the `gapSize` setting proportionate to their
- * duration.
- *
- * In stock charts the X axis is ordinal by default, unless the boost module
- * is used and at least one of the series' data length exceeds the
- * boostThreshold.
- */
- ordinal?: boolean;
- /**
- * (Highstock) Additional range on the right side of the xAxis. Works
- * similar to xAxis.maxPadding, but value is set in milliseconds. Can be set
- * for both, main xAxis and navigator's xAxis.
- */
- overscroll?: number;
- /**
- * (Highcharts) Refers to the index in the panes array. Used for circular
- * gauges and polar charts. When the option is not set then first pane will
- * be used.
- */
- pane?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching
- * across the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- plotBands?: Array<NavigatorXAxisPlotBandsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the
- * plot area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- plotLines?: Array<NavigatorXAxisPlotLinesOptions>;
- /**
- * (Highstock, Gantt) Whether to reverse the axis so that the highest number
- * is closest to the origin. If the chart is inverted, the x axis is
- * reversed by default.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock) This option determines how stacks should be
- * ordered within a group. For example reversed xAxis also reverses stacks,
- * so first series comes last in a group. To keep order like for
- * non-reversed xAxis enable this option.
- */
- reversedStacks?: boolean;
- /**
- * (Highstock, Gantt) Whether to show the first tick label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- */
- softMin?: number;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highstock, Gantt) Whether to force the axis to start on a tick. Use this
- * option with the `minPadding` option to control the axis start.
- */
- startOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highstock, Gantt) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highstock, Gantt) The interval of the tick marks in axis units. When
- * `undefined`, the tick interval is computed to approximately follow the
- * tickPixelInterval on linear and datetime axes. On categorized axes, a
- * `undefined` tickInterval will default to 1, one category. Note that
- * datetime axes are based on milliseconds, so for example an interval of
- * one day is expressed as `24 * 3600 * 1000`.
- *
- * On logarithmic axes, the tickInterval is based on powers, so a
- * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
- * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
- * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
- * etc.
- *
- * If the tickInterval is too dense for labels to be drawn, Highcharts may
- * remove ticks.
- *
- * If the chart has multiple axes, the alignTicks option may interfere with
- * the `tickInterval` setting.
- */
- tickInterval?: number;
- /**
- * (Highstock, Gantt) The pixel length of the main tick marks.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highstock, Gantt) If tickInterval is `null` this option sets the
- * approximate pixel interval of the tick marks. Not applicable to
- * categorized axis.
- *
- * The tick interval is also influenced by the minTickInterval option, that,
- * by default prevents ticks from being denser than the data points.
- */
- tickPixelInterval?: number;
- /**
- * (Highstock, Gantt) The position of the major tick marks relative to the
- * axis line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highstock, Gantt) A callback function returning array defining where the
- * ticks are laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval. The automatic tick positions are
- * accessible through `this.tickPositions` and can be modified by the
- * callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highstock, Gantt) An array defining where the ticks are laid out on the
- * axis. This overrides the default behaviour of tickPixelInterval and
- * tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highstock, Gantt) The pixel width of the major tick marks. Defaults to 0
- * on category axes, otherwise 1.
- *
- * In styled mode, the stroke width is given in the `.highcharts-tick`
- * class, but in order for the element to be generated on category axes, the
- * option must be explicitly set to 1.
- */
- tickWidth?: (number|undefined);
- /**
- * (Highstock, Gantt) The axis title, showing next to the axis line.
- */
- title?: NavigatorXAxisTitleOptions;
- /**
- * (Highcharts, Highstock) The top position as the vertical axis. If it's a
- * number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the plot height, offset from plot area top.
- */
- top?: (number|string);
- /**
- * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
- * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
- * are given in milliseconds, and tick marks are placed on appropriate
- * values like full hours or days. In a category axis, the point names of
- * the chart's series are used for categories, if not a categories array is
- * defined.
- */
- type?: AxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
- * what time intervals the ticks are allowed to fall on. Each array item is
- * an array where the first value is the time unit and the second value
- * another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock) The width as the horizontal axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the total plot width.
- */
- width?: (number|string);
- /**
- * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
- * option allows to disable zooming on an individual axis.
- */
- zoomEnabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface NavigatorXAxisPlotBandsEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface NavigatorXAxisPlotBandsLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-band-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
- * is supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot band. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
- * the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- export interface NavigatorXAxisPlotBandsOptions {
- /**
- * (Highstock) Flag to decide if plotBand should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
- * requires `borderWidth` to be set.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
- * requires `borderColor` to be set.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-band`, to apply to each individual band.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the plot band.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: NavigatorXAxisPlotBandsEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The start position of the plot band in
- * axis units.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
- * in Axis.removePlotBand.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: NavigatorXAxisPlotBandsLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
- * units.
- */
- to?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot band within the
- * chart, relative to other elements. Using the same z index as another
- * element may give unpredictable results, as the last rendered element will
- * be on top. Values from 0 to 20 make sense.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface NavigatorXAxisPlotLinesEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface NavigatorXAxisPlotLinesLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
- * label. Useful properties like the value of plot line or the range of plot
- * band (`from` & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
- * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
- * supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot line. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
- * area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- export interface NavigatorXAxisPlotLinesOptions {
- /**
- * (Highstock) Flag to decide if plotLine should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-line`, to apply to each individual line.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the line.
- */
- color?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
- * line. For possible values see this overview.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: NavigatorXAxisPlotLinesEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
- * in Axis.removePlotLine.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: NavigatorXAxisPlotLinesLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The position of the line in axis units.
- */
- value?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot line within the
- * chart.
- */
- zIndex?: number;
- }
- /**
- * (Highstock, Gantt) The axis title, showing next to the axis line.
- */
- export interface NavigatorXAxisTitleOptions {
- /**
- * (Highstock, Gantt) Alignment of the title relative to the axis values.
- * Possible values are "low", "middle" or "high".
- */
- align?: AxisTitleAlignValue;
- /**
- * (Highstock, Gantt) The pixel distance between the axis labels or line and
- * the title. Defaults to 0 for horizontal axes, 10 for vertical
- */
- margin?: number;
- /**
- * (Highstock, Gantt) The distance of the axis title from the axis line. By
- * default, this distance is computed from the offset width of the labels,
- * the labels' distance from the axis and the title's margin. However when
- * the offset option is set, it overrides all this.
- */
- offset?: number;
- /**
- * (Highcharts) Defines how the title is repositioned according to the 3D
- * chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- *
- * - `undefined`: Will use the config from `labels.position3d`
- */
- position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
- /**
- * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
- * when laying out the axis.
- */
- reserveSpace?: boolean;
- /**
- * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
- * 270 is vertical reading from bottom to top.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis title will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `title.position3d`.
- *
- * A `null` value will use the config from `labels.skew3d`.
- */
- skew3d?: (boolean|null);
- /**
- * (Highstock, Gantt) CSS styles for the title. If the title text is longer
- * than the axis length, it will wrap to multiple lines by default. This can
- * be customized by setting `textOverflow: 'ellipsis'`, by setting a
- * specific `width` or by setting `whiteSpace: 'nowrap'`.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-title`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highstock, Gantt) The actual text of the axis title. It can contain
- * basic HTML tags like `b`, `i` and `span` with style.
- */
- text?: (string|null);
- /**
- * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
- * `"center"`. Default alignment depends on the title.align:
- *
- * Horizontal axes:
- *
- * - for `align` = `"low"`, `textAlign` is set to `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"`, `textAlign` is set to `right`
- *
- * Vertical axes:
- *
- * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
- * `right`
- *
- * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
- * `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
- * `left`
- *
- * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
- * `right`
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
- * title.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
- * position.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
- * position.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to each
- * other.
- */
- export interface NavigatorYAxisBreaksOptions {
- /**
- * (Highcharts, Highstock, Gantt) A number indicating how much space should
- * be left between the start and the end of the break. The break size is
- * given in axis units, so for instance on a `datetime` axis, a break size
- * of 3600000 would indicate the equivalent of an hour.
- */
- breakSize?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break starts.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) Defines an interval after which the break
- * appears again. By default the breaks do not repeat.
- */
- repeat?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break ends.
- */
- to?: number;
- }
- /**
- * (Highstock, Gantt) Event handlers for the axis.
- */
- export interface NavigatorYAxisEventsOptions {
- /**
- * (Highcharts, Gantt) An event fired after the breaks have rendered.
- */
- afterBreaks?: AxisEventCallbackFunction;
- /**
- * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
- * fires after the final min and max values are computed and corrected for
- * `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Gantt) An event fired when a break from this axis occurs on
- * a point.
- */
- pointBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
- * break from this axis.
- */
- pointInBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highstock, Gantt) Fires when the minimum and maximum is set for the
- * axis, either by calling the `.setExtremes()` method or by selecting an
- * area in the chart. One parameter, `event`, is passed to the function,
- * containing common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface NavigatorYAxisGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
- * over labels options.
- */
- export interface NavigatorYAxisLabelsLevelsOptions {
- /**
- * (Gantt) Specify the level which the options within this object applies
- * to.
- */
- level?: number;
- style?: CSSObject;
- }
- /**
- * (Highstock, Gantt) The axis labels show the number or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
- * `tickInterval` and `step` is set to 1.
- */
- export interface NavigatorYAxisLabelsOptions {
- /**
- * (Highstock, Gantt) What part of the string the given position is anchored
- * to. Can be one of `"left"`, `"center"` or `"right"`. The exact position
- * also depends on the `labels.x` setting.
- *
- * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
- * two labels have additional option `"auto"` for automatic horizontal and
- * vertical alignment.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts) Angular gauges and solid gauges only. The label's pixel
- * distance from the perimeter of the plot area.
- *
- * Since v7.1.2: If it's a percentage string, it is interpreted the same as
- * series.radius, so label can be aligned under the gauge's shape.
- */
- distance?: (number|string);
- /**
- * (Highstock, Gantt) Enable or disable the axis labels.
- */
- enabled?: boolean;
- /**
- * (Highstock, Gantt) A format string for the axis label.
- */
- format?: string;
- /**
- * (Highstock, Gantt) Callback JavaScript function to format the label. The
- * value is given by `this.value`. Additional properties for `this` are
- * `axis`, `chart`, `isFirst` and `isLast`. The value of the default label
- * formatter can be retrieved by calling
- * `this.axis.defaultLabelFormatter.call(this)` within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Gantt) Set options on specific levels in a tree grid axis. Takes
- * precedence over labels options.
- */
- levels?: Array<NavigatorYAxisLabelsLevelsOptions>;
- /**
- * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
- * If set to `"allow"`, it will not be aligned at all. By default it
- * `"justify"` labels inside the chart area. If there is room to move it, it
- * will be aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highstock, Gantt) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
- * the labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
- * step to _n_. Setting the step to 2 shows every other label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
- * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
- * prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The symbol for the collapse and expand icon in a treegrid.
- */
- symbol?: NavigatorYAxisLabelsSymbolOptions;
- /**
- * (Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highstock, Gantt) The x position offset of all labels relative to the
- * tick positions on the axis. Defaults to -15 for left axis, 15 for right
- * axis.
- */
- x?: number;
- /**
- * (Highstock, Gantt) The y position offset of all labels relative to the
- * tick positions on the axis. For polar and radial axis consider the use of
- * the distance option.
- */
- y?: number;
- /**
- * (Highstock, Gantt) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Gantt) The symbol for the collapse and expand icon in a treegrid.
- */
- export interface NavigatorYAxisLabelsSymbolOptions {
- height?: number;
- padding?: number;
- /**
- * (Gantt) The symbol type. Points to a definition function in the
- * `Highcharts.Renderer.symbols` collection.
- */
- type?: SymbolKeyValue;
- width?: number;
- x?: number;
- y?: number;
- }
- /**
- * (Highstock, Gantt) Options for the navigator Y axis. Default series options
- * for the navigator yAxis are: (see online documentation for example)
- */
- export interface NavigatorYAxisOptions {
- /**
- * (Highstock, Gantt) Accessibility options for an axis. Requires the
- * accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
- * counting integers, like persons or hits on a web page, decimals should be
- * avoided in the labels.
- */
- allowDecimals?: boolean;
- /**
- * (Highstock, Gantt) When using an alternate grid color, a band is painted
- * across the plot area between every other grid line.
- */
- alternateGridColor?: ColorType;
- /**
- * (Highcharts) In a polar chart, this is the angle of the Y axis in
- * degrees, where 0 is up and 90 is right. The angle determines the position
- * of the axis line and the labels, though the coordinate system is
- * unaffected. Since v8.0.0 this option is also applicable for X axis
- * (inverted polar).
- */
- angle?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to
- * each other.
- */
- breaks?: Array<NavigatorYAxisBreaksOptions>;
- /**
- * (Highcharts, Gantt) If categories are present for the xAxis, names are
- * used instead of numbers for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- *
- * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
- */
- categories?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
- * especially in Highcharts styled mode. The class name is applied to group
- * elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Highstock, Gantt) Configure a crosshair that follows either the mouse
- * pointer or the hovered point.
- *
- * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
- * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
- */
- crosshair?: (boolean|AxisCrosshairOptions);
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations
- * used for each unit. For intermediate values, different units may be used,
- * for example the `day` unit can be used on midnight and `hour` unit be
- * used for intermediate values on the same axis. For grid axes (like in
- * Gantt charts), it is possible to declare as a list to provide different
- * formats depending on available space. For an overview of the replacement
- * codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
- /**
- * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
- * option with the `maxPadding` option to control the axis end.
- *
- * This option is always disabled, when panning type is either `y` or `xy`.
- */
- endOnTick?: boolean;
- /**
- * (Highstock, Gantt) Event handlers for the axis.
- */
- events?: NavigatorYAxisEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: NavigatorYAxisGridOptions;
- /**
- * (Highstock, Gantt) Color of the grid lines extending the ticks across the
- * plot area.
- *
- * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
- */
- gridLineColor?: ColorType;
- /**
- * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
- * values, see this demonstration.
- */
- gridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Polar charts only. Whether the grid lines should draw as a
- * polygon with straight lines between categories, or as circles. Can be
- * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
- * for X axis (inverted polar).
- */
- gridLineInterpolation?: OptionsGridLineInterpolationValue;
- /**
- * (Highstock, Gantt) The width of the grid lines extending the ticks across
- * the plot area.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- gridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highstock, Gantt) An id for the axis. This can be used after render time
- * to get a pointer to the axis object through `chart.get()`.
- */
- id?: string;
- /**
- * (Highstock, Gantt) The axis labels show the number or category for each
- * tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating
- * data if `tickInterval` and `step` is set to 1.
- */
- labels?: NavigatorYAxisLabelsOptions;
- /**
- * (Highcharts, Highstock) The left position as the horizontal axis. If it's
- * a number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the plot width, offset from plot area left.
- */
- left?: (number|string);
- /**
- * (Highstock, Gantt) The color of the line marking the axis itself.
- *
- * In styled mode, the line stroke is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineColor?: ColorType;
- /**
- * (Highstock, Gantt) The width of the line marking the axis itself.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineWidth?: number;
- /**
- * (Highstock, Gantt) If there are multiple axes on the same side of the
- * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
- * 15 on horizontal axes.
- */
- margin?: number;
- /**
- * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
- * value is automatically calculated.
- *
- * If the endOnTick option is true, the `max` value might be rounded up.
- *
- * If a tickAmount is set, the axis may be extended beyond the set max in
- * order to reach the given number of ticks. The same may happen in a chart
- * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
- * is applied internally.
- */
- max?: (number|null);
- /**
- * (Highcharts) Solid gauge only. Unless stops are set, the color to
- * represent the maximum value of the Y axis.
- */
- maxColor?: ColorType;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the highest data value to appear on
- * the edge of the plot area. When the axis' `max` option is set or a max
- * extreme is set using `axis.setExtremes()`, the maxPadding will be
- * ignored.
- *
- * Also the `softThreshold` option takes precedence over `maxPadding`, so if
- * the data is tangent to the threshold, `maxPadding` may not apply unless
- * `softThreshold` is set to false.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
- * is automatically calculated.
- *
- * If the startOnTick option is true (default), the `min` value might be
- * rounded down.
- *
- * The automatically calculated minimum value is also affected by floor,
- * softMin, minPadding, minRange as well as series.threshold and
- * series.softThreshold.
- */
- min?: (number|null);
- /**
- * (Highcharts) Solid gauge only. Unless stops are set, the color to
- * represent the minimum value of the Y axis.
- */
- minColor?: ColorType;
- /**
- * (Highstock, Gantt) Color of the minor, secondary grid lines.
- *
- * In styled mode, the stroke width is given in the
- * `.highcharts-minor-grid-line` class.
- */
- minorGridLineColor?: ColorType;
- /**
- * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
- * possible values, see this demonstration.
- */
- minorGridLineDashStyle?: DashStyleValue;
- /**
- * (Highstock, Gantt) Width of the minor, secondary grid lines.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- minorGridLineWidth?: number;
- /**
- * (Highstock, Gantt) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highstock, Gantt) Specific tick interval in axis units for the minor
- * ticks. On a linear axis, if `"auto"`, the minor tick interval is
- * calculated as a fifth of the tickInterval. If `null` or `undefined`,
- * minor ticks are not shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highstock, Gantt) The pixel length of the minor tick marks.
- */
- minorTickLength?: number;
- /**
- * (Highstock, Gantt) The position of the minor tick marks relative to the
- * axis line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highstock, Gantt) Enable or disable minor ticks. Unless
- * minorTickInterval is set, the tick interval is calculated as a fifth of
- * the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highstock, Gantt) The pixel width of the minor tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the lowest data value to appear on the
- * edge of the plot area. When the axis' `min` option is set or a max
- * extreme is set using `axis.setExtremes()`, the maxPadding will be
- * ignored.
- *
- * Also the `softThreshold` option takes precedence over `minPadding`, so if
- * the data is tangent to the threshold, `minPadding` may not apply unless
- * `softThreshold` is set to false.
- */
- minPadding?: number;
- /**
- * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
- * example on zooming in on an axis with daily data, this can be used to
- * prevent the axis from showing hours. Defaults to the closest distance
- * between two points on the axis.
- */
- minTickInterval?: number;
- /**
- * (Highstock, Gantt) The distance in pixels from the plot area to the axis
- * line. A positive offset moves the axis with it's line, labels and ticks
- * away from the plot area. This is typically used when two or more axes are
- * displayed on the same side of the plot. With multiple axes the offset is
- * dynamically adjusted to avoid collision, this can be overridden by
- * setting offset explicitly.
- */
- offset?: number;
- /**
- * (Highstock, Highcharts, Gantt) Whether to display the axis on the
- * opposite side of the normal. The normal is on the left side for vertical
- * axes and bottom for horizontal, so the opposite sides will be right and
- * top respectively. This is typically used with dual or multiple axes.
- */
- opposite?: boolean;
- /**
- * (Highcharts) Refers to the index in the panes array. Used for circular
- * gauges and polar charts. When the option is not set then first pane will
- * be used.
- */
- pane?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching
- * across the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- plotBands?: Array<NavigatorYAxisPlotBandsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the
- * plot area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- plotLines?: Array<NavigatorYAxisPlotLinesOptions>;
- /**
- * (Highstock, Gantt) Whether to reverse the axis so that the highest number
- * is closest to the origin.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock) If `true`, the first series in a stack will be
- * drawn on top in a positive, non-reversed Y axis. If `false`, the first
- * series is in the base of the stack.
- */
- reversedStacks?: boolean;
- /**
- * (Highstock, Gantt) Whether to show the first tick label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- *
- * **Note**: The series.softThreshold option takes precedence over this
- * option.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- *
- * **Note**: The series.softThreshold option takes precedence over this
- * option.
- */
- softMin?: number;
- /**
- * (Highcharts) The stack labels show the total value for each bar in a
- * stacked column or bar chart. The label will be placed on top of positive
- * columns and below negative columns. In case of an inverted column chart
- * or a bar chart the label is placed to the right of positive bars and to
- * the left of negative bars.
- */
- stackLabels?: NavigatorYAxisStackLabelsOptions;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
- * tick. Use this option with the `maxPadding` option to control the axis
- * start.
- *
- * This option is always disabled, when panning type is either `y` or `xy`.
- */
- startOnTick?: boolean;
- /**
- * (Gantt) For vertical axes only. Setting the static scale ensures that
- * each tick unit is translated into a fixed pixel height. For example,
- * setting the static scale to 24 results in each Y axis category taking up
- * 24 pixels, and the height of the chart adjusts. Adding or removing items
- * will make the chart resize.
- */
- staticScale?: number;
- /**
- * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
- * Use this in cases where a linear gradient between a `minColor` and
- * `maxColor` is not sufficient. The stops is an array of tuples, where the
- * first item is a float between 0 and 1 assigning the relative position in
- * the gradient, and the second item is the color.
- *
- * For solid gauges, the Y axis also inherits the concept of data classes
- * from the Highmaps color axis.
- */
- stops?: Array<[number, ColorType]>;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highstock, Gantt) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highstock, Gantt) The interval of the tick marks in axis units. When
- * `undefined`, the tick interval is computed to approximately follow the
- * tickPixelInterval on linear and datetime axes. On categorized axes, a
- * `undefined` tickInterval will default to 1, one category. Note that
- * datetime axes are based on milliseconds, so for example an interval of
- * one day is expressed as `24 * 3600 * 1000`.
- *
- * On logarithmic axes, the tickInterval is based on powers, so a
- * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
- * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
- * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
- * etc.
- *
- * If the tickInterval is too dense for labels to be drawn, Highcharts may
- * remove ticks.
- *
- * If the chart has multiple axes, the alignTicks option may interfere with
- * the `tickInterval` setting.
- */
- tickInterval?: number;
- /**
- * (Highstock, Gantt) The pixel length of the main tick marks.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highstock, Gantt) If tickInterval is `null` this option sets the
- * approximate pixel interval of the tick marks. Not applicable to
- * categorized axis.
- *
- * The tick interval is also influenced by the minTickInterval option, that,
- * by default prevents ticks from being denser than the data points.
- */
- tickPixelInterval?: number;
- /**
- * (Highstock, Gantt) The position of the major tick marks relative to the
- * axis line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highstock, Gantt) A callback function returning array defining where the
- * ticks are laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval. The automatic tick positions are
- * accessible through `this.tickPositions` and can be modified by the
- * callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highstock, Gantt) An array defining where the ticks are laid out on the
- * axis. This overrides the default behaviour of tickPixelInterval and
- * tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
- */
- tickWidth?: number;
- /**
- * (Highstock, Gantt) The axis title, showing next to the axis line.
- */
- title?: NavigatorYAxisTitleOptions;
- /**
- * (Highcharts) Parallel coordinates only. Format that will be used for
- * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
- * If not set, `{point.formattedValue}` will use other options, in this
- * order:
- *
- * 1. yAxis.labels.format will be used if set
- *
- * 2. If yAxis is a category, then category name will be displayed
- *
- * 3. If yAxis is a datetime, then value will use the same format as yAxis
- * labels
- *
- * 4. If yAxis is linear/logarithmic type, then simple value will be used
- */
- tooltipValueFormat?: string;
- /**
- * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
- * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
- * `treegrid` for Gantt charts, `linear` for other chart types.
- *
- * In a datetime axis, the numbers are given in milliseconds, and tick marks
- * are placed on appropriate values, like full hours or days. In a category
- * or treegrid axis, the point names of the chart's series are used for
- * categories, if a categories array is not defined.
- */
- type?: AxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock) The width as the horizontal axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the total plot width.
- */
- width?: (number|string);
- /**
- * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
- * option allows to disable zooming on an individual axis.
- */
- zoomEnabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface NavigatorYAxisPlotBandsEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface NavigatorYAxisPlotBandsLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-band-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
- * is supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot band. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
- * the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- export interface NavigatorYAxisPlotBandsOptions {
- /**
- * (Highstock) Flag to decide if plotBand should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
- * requires `borderWidth` to be set.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
- * requires `borderColor` to be set.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-band`, to apply to each individual band.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the plot band.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: NavigatorYAxisPlotBandsEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The start position of the plot band in
- * axis units.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
- * in Axis.removePlotBand.
- */
- id?: string;
- /**
- * (Highcharts) In a gauge chart, this option determines the inner radius of
- * the plot band that stretches along the perimeter. It can be given as a
- * percentage string, like `"100%"`, or as a pixel number, like `100`. By
- * default, the inner radius is controlled by the thickness option.
- */
- innerRadius?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: NavigatorYAxisPlotBandsLabelOptions;
- /**
- * (Highcharts) In a gauge chart, this option determines the outer radius of
- * the plot band that stretches along the perimeter. It can be given as a
- * percentage string, like `"100%"`, or as a pixel number, like `100`.
- */
- outerRadius?: (number|string);
- /**
- * (Highcharts) In a gauge chart, this option sets the width of the plot
- * band stretching along the perimeter. It can be given as a percentage
- * string, like `"10%"`, or as a pixel number, like `10`. The default value
- * 10 is the same as the default tickLength, thus making the plot band act
- * as a background for the tick markers.
- */
- thickness?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
- * units.
- */
- to?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot band within the
- * chart, relative to other elements. Using the same z index as another
- * element may give unpredictable results, as the last rendered element will
- * be on top. Values from 0 to 20 make sense.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface NavigatorYAxisPlotLinesEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface NavigatorYAxisPlotLinesLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
- * label. Useful properties like the value of plot line or the range of plot
- * band (`from` & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
- * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
- * supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot line. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
- * area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- export interface NavigatorYAxisPlotLinesOptions {
- /**
- * (Highstock) Flag to decide if plotLine should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-line`, to apply to each individual line.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the line.
- */
- color?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
- * line. For possible values see this overview.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: NavigatorYAxisPlotLinesEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
- * in Axis.removePlotLine.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: NavigatorYAxisPlotLinesLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The position of the line in axis units.
- */
- value?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot line within the
- * chart.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `stackLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface NavigatorYAxisStackLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * stackLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) The stack labels show the total value for each bar in a stacked
- * column or bar chart. The label will be placed on top of positive columns and
- * below negative columns. In case of an inverted column chart or a bar chart
- * the label is placed to the right of positive bars and to the left of negative
- * bars.
- */
- export interface NavigatorYAxisStackLabelsOptions {
- /**
- * (Highcharts) Defines the horizontal alignment of the stack total label.
- * Can be one of `"left"`, `"center"` or `"right"`. The default value is
- * calculated at runtime and depends on orientation and whether the stack is
- * positive or negative.
- */
- align?: AlignValue;
- /**
- * (Highcharts) Allow the stack labels to overlap.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `stackLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|NavigatorYAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The background color or gradient for the stack label.
- */
- backgroundColor?: ColorType;
- /**
- * (Highcharts) The border color for the stack label. Defaults to
- * `undefined`.
- */
- borderColor?: ColorType;
- /**
- * (Highcharts) The border radius in pixels for the stack label.
- */
- borderRadius?: number;
- /**
- * (Highcharts) The border width in pixels for the stack label.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Whether to hide stack labels that are outside the plot area.
- * By default, the stack label is moved inside the plot area according to
- * the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts) Enable or disable the stack total labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) A format string for the data label. Available
- * variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the label. The value
- * is given by `this.total`.
- */
- formatter?: FormatterCallbackFunction<StackItemObject>;
- /**
- * (Highcharts) How to handle stack total labels that flow outside the plot
- * area. The default is set to `"justify"`, which aligns them inside the
- * plot area. For columns and bars, this means it will be moved inside the
- * bar. To display stack labels outside the plot area, set `crop` to `false`
- * and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) CSS styles for the label.
- *
- * In styled mode, the styles are set in the `.highcharts-stack-label`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts) The text alignment for the label. While `align` determines
- * where the texts anchor point is placed with regards to the stack,
- * `textAlign` determines how the text is aligned against its anchor point.
- * Possible values are `"left"`, `"center"` and `"right"`. The default value
- * is calculated at runtime and depends on orientation and whether the stack
- * is positive or negative.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) Defines the vertical alignment of the stack total label. Can
- * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
- * calculated at runtime and depends on orientation and whether the stack is
- * positive or negative.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts) The x position offset of the label relative to the left of
- * the stacked bar. The default value is calculated at runtime and depends
- * on orientation and whether the stack is positive or negative.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of the label relative to the tick
- * position on the axis. The default value is calculated at runtime and
- * depends on orientation and whether the stack is positive or negative.
- */
- y?: number;
- }
- /**
- * (Highstock, Gantt) The axis title, showing next to the axis line.
- */
- export interface NavigatorYAxisTitleOptions {
- /**
- * (Highstock, Gantt) Alignment of the title relative to the axis values.
- * Possible values are "low", "middle" or "high".
- */
- align?: AxisTitleAlignValue;
- /**
- * (Highstock, Gantt) The pixel distance between the axis labels and the
- * title. Positive values are outside the axis line, negative are inside.
- */
- margin?: number;
- /**
- * (Highstock, Gantt) The distance of the axis title from the axis line. By
- * default, this distance is computed from the offset width of the labels,
- * the labels' distance from the axis and the title's margin. However when
- * the offset option is set, it overrides all this.
- */
- offset?: number;
- /**
- * (Highcharts) Defines how the title is repositioned according to the 3D
- * chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- *
- * - `undefined`: Will use the config from `labels.position3d`
- */
- position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
- /**
- * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
- * when laying out the axis.
- */
- reserveSpace?: boolean;
- /**
- * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
- * 270 is vertical reading from bottom to top.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis title will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `title.position3d`.
- *
- * A `null` value will use the config from `labels.skew3d`.
- */
- skew3d?: (boolean|null);
- /**
- * (Highstock, Gantt) CSS styles for the title. If the title text is longer
- * than the axis length, it will wrap to multiple lines by default. This can
- * be customized by setting `textOverflow: 'ellipsis'`, by setting a
- * specific `width` or by setting `whiteSpace: 'nowrap'`.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-title`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The actual text of the axis title.
- * Horizontal texts can contain HTML, but rotated texts are painted using
- * vector techniques and must be clean text. The Y axis title is disabled by
- * setting the `text` option to `undefined`.
- */
- text?: (string|null);
- /**
- * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
- * `"center"`. Default alignment depends on the title.align:
- *
- * Horizontal axes:
- *
- * - for `align` = `"low"`, `textAlign` is set to `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"`, `textAlign` is set to `right`
- *
- * Vertical axes:
- *
- * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
- * `right`
- *
- * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
- * `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
- * `left`
- *
- * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
- * `right`
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
- * title.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
- * position.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
- * position.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object of additional SVG attributes for the
- * no-data label.
- */
- export interface NoDataAttrOptions {
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Options for displaying a message like "No data
- * to display". This feature requires the file no-data-to-display.js to be
- * loaded in the page. The actual text to display is set in the lang.noData
- * option.
- */
- export interface NoDataOptions {
- /**
- * (Highcharts, Highstock, Gantt) An object of additional SVG attributes for
- * the no-data label.
- */
- attr?: (NoDataAttrOptions|SVGAttributes);
- /**
- * (Highcharts, Highstock, Gantt) The position of the no-data label,
- * relative to the plot area.
- */
- position?: (AlignObject|NoDataPositionOptions);
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the no-data label.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to insert the label as HTML, or as
- * pseudo-HTML rendered with SVG.
- */
- useHTML?: boolean;
- }
- /**
- * (Highcharts, Highstock, Gantt) The position of the no-data label, relative to
- * the plot area.
- */
- export interface NoDataPositionOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal offset of the label, in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical offset of the label, in pixels.
- */
- y?: number;
- }
- /**
- * An object containing `left` and `top` properties for the position in the
- * page.
- */
- export interface OffsetObject {
- /**
- * Left distance to the page border.
- */
- left: number;
- /**
- * Top distance to the page border.
- */
- top: number;
- }
- export interface Options {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
- * accessibility for the chart. Requires the accessibility module to be
- * loaded. For a description of the module and information on its features,
- * see Highcharts Accessibility.
- */
- accessibility?: AccessibilityOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation.
- * It allows to add custom labels or shapes. The items can be tied to
- * points, axis coordinates or chart pixel coordinates.
- */
- annotations?: Array<AnnotationsOptions>;
- boost?: BoostOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
- * render below the chart and will be part of exported charts. The caption
- * can be updated after chart initialization through the `Chart.update` or
- * `Chart.caption.update` methods.
- */
- caption?: CaptionOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
- */
- chart?: ChartOptions;
- /**
- * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
- * color axis will appear as a gradient or as separate items inside the
- * legend, depending on whether the axis is scalar or based on data classes.
- *
- * For supported color formats, see the docs article about colors.
- *
- * A scalar color axis is represented by a gradient. The colors either range
- * between the minColor and the maxColor, or for more fine grained control
- * the colors can be defined in stops. Often times, the color axis needs to
- * be adjusted to get the right color spread for the data. In addition to
- * stops, consider using a logarithmic axis type, or setting min and max to
- * avoid the colors being determined by outliers.
- *
- * When dataClasses are used, the ranges are subdivided into separate
- * classes like categories based on their values. This can be used for
- * ranges between two values, but also for a true category. However, when
- * your data is categorized, it may be as convenient to add each category to
- * a separate series.
- *
- * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
- * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series
- * types.
- *
- * Since v7.2.0 `colorAxis` can also be an array of options objects.
- *
- * See the Axis object for programmatic access to the axis.
- */
- colorAxis?: (ColorAxisOptions|Array<ColorAxisOptions>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array containing the default
- * colors for the chart's series. When all colors are used, new colors are
- * pulled from the start again.
- *
- * Default colors can also be set on a series or series.type basis, see
- * column.colors, pie.colors.
- *
- * In styled mode, the colors option doesn't exist. Instead, colors are
- * defined in CSS and applied either through series or point class names, or
- * through the chart.colorCount option.
- *
- * ### Legacy
- *
- * In Highcharts 3.x, the default colors were: (see online documentation for
- * example)
- *
- * In Highcharts 2.x, the default colors were: (see online documentation for
- * example)
- */
- colors?: Array<ColorString>;
- /**
- * (Gantt) The Pathfinder module allows you to define connections between
- * any two points, represented as lines - optionally with markers for the
- * start and/or end points. Multiple algorithms are available for
- * calculating how the connecting lines are drawn.
- *
- * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
- * charts, the connectors are used to draw dependencies between tasks.
- */
- connectors?: ConnectorsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a
- * credits label in the lower right corner of the chart. This can be changed
- * using these options.
- */
- credits?: CreditsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
- * simplified interface for adding data to a chart from sources like CVS,
- * HTML tables or grid views. See also the tutorial article on the Data
- * module.
- *
- * It requires the `modules/data.js` file to be loaded.
- *
- * Please note that the default way of adding data in Highcharts, without
- * the need of a module, is through the series._type_.data option.
- */
- data?: DataOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers
- * for annotations.
- *
- * An example of the arrow marker: (see online documentation for example)
- */
- defs?: (DefsOptions|Dictionary<SVGDefinitionObject>);
- /**
- * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
- * increasingly high resolution data through clicking on chart items like
- * columns or pie slices.
- *
- * The drilldown feature requires the drilldown.js file to be loaded, found
- * in the modules directory of the download package, or online at
- * code.highcharts.com/modules/drilldown.js.
- */
- drilldown?: DrilldownOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting
- * module. For an overview on the matter, see the docs.
- */
- exporting?: ExportingOptions;
- global?: GlobalOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language
- * object is global and it can't be set on each chart initialization.
- * Instead, use `Highcharts.setOptions` to set it before any chart is
- * initialized. (see online documentation for example)
- */
- lang?: LangOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
- * symbol and name for each series item or point item in the chart. Each
- * series (or points in case of pie charts) is represented by a symbol and
- * its name in the legend.
- *
- * It is possible to override the symbol creator function and create custom
- * legend symbols.
- */
- legend?: LegendOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
- * appearance of the loading screen that covers the plot area on chart
- * operations. This screen only appears after an explicit call to
- * `chart.showLoading()`. It is a utility for developers to communicate to
- * the end user that something is going on, for example while retrieving new
- * data via an XHR connection. The "Loading..." text itself is not part of
- * this configuration object, but part of the `lang` object.
- */
- loading?: LoadingOptions;
- mapNavigation?: MapNavigationOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
- * buttons and menus appearing in the exporting module.
- */
- navigation?: NavigationOptions;
- /**
- * (Highstock, Gantt) The navigator is a small series below the main series,
- * displaying a view of the entire data set. It provides tools to zoom in
- * and out on parts of the data as well as panning across the dataset.
- */
- navigator?: NavigatorOptions;
- /**
- * (Highcharts, Highstock, Gantt) Options for displaying a message like "No
- * data to display". This feature requires the file no-data-to-display.js to
- * be loaded in the page. The actual text to display is set in the
- * lang.noData option.
- */
- noData?: NoDataOptions;
- /**
- * (Highcharts) The pane serves as a container for axes and backgrounds for
- * circular gauges and polar charts.
- */
- pane?: PaneOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper
- * object for config objects for each series type. The config objects for
- * each series can also be overridden for each series item as given in the
- * series array.
- *
- * Configuration options for the series are given in three levels. Options
- * for all series in a chart are given in the plotOptions.series object.
- * Then options for all series of a specific type are given in the
- * plotOptions of that type, for example `plotOptions.line`. Next, options
- * for one single series are given in the series array.
- */
- plotOptions?: PlotOptions;
- /**
- * (Highstock, Gantt) The range selector is a tool for selecting ranges to
- * display within the chart. It provides buttons to select preconfigured
- * ranges in the chart, like 1 day, 1 week, 1 month etc. It also provides
- * input boxes where min and max dates can be manually input.
- */
- rangeSelector?: RangeSelectorOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
- * apply for different screen or chart sizes. Each rule specifies additional
- * chart options.
- */
- responsive?: ResponsiveOptions;
- /**
- * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of
- * a stock chart. Scrollbars can also be applied to other types of axes.
- *
- * Another approach to scrollable charts is the chart.scrollablePlotArea
- * option that is especially suitable for simpler cartesian charts on
- * mobile.
- *
- * In styled mode, all the presentational options for the scrollbar are
- * replaced by the classes `.highcharts-scrollbar-thumb`,
- * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
- * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
- */
- scrollbar?: ScrollbarOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data
- * and the data itself. In TypeScript you have to cast the series options to
- * specific series types, to get all possible options for a series.
- */
- series?: Array<SeriesOptionsType>;
- /**
- * (Highstock) Configure the stockTools gui strings in the chart. Requires
- * the [stockTools module]() to be loaded. For a description of the module
- * and information on its features, see [Highcharts StockTools]().
- */
- stockTools?: StockToolsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can
- * be used both to display a subtitle below the main title, and to display
- * random text anywhere in the chart. The subtitle can be updated after
- * chart initialization through the `Chart.setTitle` method.
- */
- subtitle?: SubtitleOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply
- * globally or to individual charts. These settings affect how `datetime`
- * axes are laid out, how tooltips are formatted, how series
- * pointIntervalUnit works and how the Highstock range selector handles
- * time.
- *
- * The common use case is that all charts in the same Highcharts object
- * share the same time settings, in which case the global settings are set
- * using `setOptions`. (see online documentation for example)
- *
- * Since v6.0.5, the time options were moved from the `global` obect to the
- * `time` object, and time options can be set on each individual chart.
- */
- time?: TimeOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
- */
- title?: TitleOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that
- * appears when the user hovers over a series or point.
- */
- tooltip?: TooltipOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
- * Normally this is the horizontal axis, though if the chart is inverted
- * this is the vertical axis. In case of multiple axes, the xAxis node is an
- * array of configuration objects.
- *
- * See the Axis class for programmatic access to the axis.
- */
- xAxis?: (XAxisOptions|Array<XAxisOptions>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis.
- * Normally this is the vertical axis, though if the chart is inverted this
- * is the horizontal axis. In case of multiple axes, the yAxis node is an
- * array of configuration objects.
- *
- * See the Axis object for programmatic access to the axis.
- */
- yAxis?: (YAxisOptions|Array<YAxisOptions>);
- /**
- * (Highcharts) The Z axis or depth axis for 3D plots.
- *
- * See the Axis class for programmatic access to the axis.
- */
- zAxis?: (ZAxisOptions|Array<ZAxisOptions>);
- }
- /**
- * (Highcharts) An array of background items for the pane.
- */
- export interface PaneBackgroundOptions {
- /**
- * (Highcharts) The background color or gradient for the pane.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The pane background border color.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The pixel border width of the pane background.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The class name for this background.
- */
- className?: string;
- /**
- * (Highcharts) The inner radius of the pane background. Can be either
- * numeric (pixels) or a percentage string.
- */
- innerRadius?: (number|string);
- /**
- * (Highcharts) The outer radius of the circular pane background. Can be
- * either numeric (pixels) or a percentage string.
- */
- outerRadius?: (number|string);
- /**
- * (Highcharts) The shape of the pane background. When `solid`, the
- * background is circular. When `arc`, the background extends only from the
- * min to the max of the value axis.
- */
- shape?: PaneBackgroundShapeValue;
- }
- /**
- * (Highcharts) The pane serves as a container for axes and backgrounds for
- * circular gauges and polar charts.
- */
- export interface PaneOptions {
- /**
- * (Highcharts) An array of background items for the pane.
- */
- background?: Array<PaneBackgroundOptions>;
- /**
- * (Highcharts) The center of a polar chart or angular gauge, given as an
- * array of [x, y] positions. Positions can be given as integers that
- * transform to pixels, or as percentages of the plot area size.
- */
- center?: Array<(string|number)>;
- /**
- * (Highcharts) The end angle of the polar X axis or gauge value axis, given
- * in degrees where 0 is north. Defaults to startAngle
- *
- * + 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) The inner size of the pane, either as a number defining
- * pixels, or a percentage defining a percentage of the pane's size.
- */
- innerSize?: (number|string);
- /**
- * (Highcharts) The size of the pane, either as a number defining pixels, or
- * a percentage defining a percentage of the available plot area (the
- * smallest of the plot height or plot width).
- */
- size?: (number|string);
- /**
- * (Highcharts) The start angle of the polar X axis or gauge axis, given in
- * degrees where 0 is north. Defaults to 0.
- */
- startAngle?: number;
- }
- /**
- * Holds a pattern definition.
- */
- export interface PatternObject {
- /**
- * Animation options for the image pattern loading.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * Pattern options
- */
- pattern: PatternOptionsObject;
- /**
- * Optionally an index referencing which pattern to use. Highcharts adds 10
- * default patterns to the `Highcharts.patterns` array. Additional pattern
- * definitions can be pushed to this array if desired. This option is an
- * index into this array.
- */
- patternIndex?: number;
- }
- /**
- * Pattern options
- */
- export interface PatternOptionsObject {
- /**
- * For automatically calculated width and height on images, it is possible
- * to set an aspect ratio. The image will be zoomed to fill the bounding
- * box, maintaining the aspect ratio defined.
- */
- aspectRatio: number;
- /**
- * Background color for the pattern if a `path` is set (not images).
- */
- backgroundColor: ColorString;
- /**
- * Pattern color, used as default path stroke.
- */
- color: ColorString;
- /**
- * Analogous to pattern.width.
- */
- height: number;
- /**
- * ID to assign to the pattern. This is automatically computed if not added,
- * and identical patterns are reused. To refer to an existing pattern for a
- * Highcharts color, use `color: "url(#pattern-id)"`.
- */
- id?: string;
- /**
- * URL to an image to use as the pattern.
- */
- image: string;
- /**
- * Opacity of the pattern as a float value from 0 to 1.
- */
- opacity: number;
- /**
- * Either an SVG path as string, or an object. As an object, supply the path
- * string in the `path.d` property. Other supported properties are standard
- * SVG attributes like `path.stroke` and `path.fill`. If a path is supplied
- * for the pattern, the `image` property is ignored.
- */
- path: (string|SVGAttributes);
- /**
- * SVG `patternTransform` to apply to the entire pattern.
- */
- patternTransform: string;
- /**
- * Width of the pattern. For images this is automatically set to the width
- * of the element bounding box if not supplied. For non-image patterns the
- * default is 32px. Note that automatic resizing of image patterns to fill a
- * bounding box dynamically is only supported for patterns with an
- * automatically calculated ID.
- */
- width: number;
- /**
- * Horizontal offset of the pattern. Defaults to 0.
- */
- x?: number;
- /**
- * Vertical offset of the pattern. Defaults to 0.
- */
- y?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAbandsAnimationOptions {
- defer?: number;
- }
- export interface PlotAbandsBottomLineOptions {
- styles?: PlotAbandsBottomLineStylesOptions;
- }
- export interface PlotAbandsBottomLineStylesOptions {
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAbandsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAbandsDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAbandsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAbandsDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Acceleration bands (ABANDS). This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `abands` series are defined in plotOptions.abands.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAbandsOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAbandsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- bottomLine?: PlotAbandsBottomLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAbandsDataLabelsOptions|Array<PlotAbandsDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAbandsDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotAbandsParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- topLine?: PlotAbandsTopLineOptions;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotAbandsParamsOptions {
- /**
- * (Highstock) The algorithms factor value used to calculate bands.
- */
- factor?: number;
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- export interface PlotAbandsTopLineOptions {
- styles?: PlotAbandsTopLineStylesOptions;
- }
- export interface PlotAbandsTopLineStylesOptions {
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAdAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAdDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAdDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAdDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Accumulation Distribution (AD). This series requires `linkedTo`
- * option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ad` series are defined in plotOptions.ad.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAdOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAdAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAdDataLabelsOptions|Array<PlotAdDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAdDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotAdParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotAdParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The id of volume series which is mandatory. For example using
- * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
- * using OHLC and volume values.
- */
- volumeSeriesID?: string;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAoAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAoDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAoDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAoDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Awesome Oscillator. This series requires the `linkedTo` option to
- * be set and should be loaded after the `stock/indicators/indicators.js`
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ao` series are defined in plotOptions.ao.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAoOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAoAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAoDataLabelsOptions|Array<PlotAoDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAoDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) Color of the Awesome oscillator series bar that is greater
- * than the previous one. Note that if a `color` is defined, the `color`
- * takes precedence and the `greaterBarColor` is ignored.
- */
- greaterBarColor?: (ColorString|GradientColorObject|PatternObject);
- groupPadding?: number;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Color of the Awesome oscillator series bar that is lower than
- * the previous one. Note that if a `color` is defined, the `color` takes
- * precedence and the `lowerBarColor` is ignored.
- */
- lowerBarColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- pointPadding?: number;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotApoAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotApoDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotApoDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotApoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotApoDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Absolute Price Oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `apo` series are defined in plotOptions.apo.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotApoOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotApoAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotApoDataLabelsOptions|Array<PlotApoDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotApoDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of Absolute Price Oscillator
- * series points.
- */
- params?: PlotApoParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of Absolute Price Oscillator series
- * points.
- */
- export interface PlotApoParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- *
- * By default index value used to be set to 0. Since Highstock 7 by default
- * index is set to 3 which means that the ema indicator will be calculated
- * using Close values.
- */
- index?: number;
- /**
- * (Highstock) Periods for Absolute Price Oscillator calculations.
- */
- periods?: Array<number>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAreaAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAreaDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAreaDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAreaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAreaDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotAreaDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The area series type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `area` series are defined in plotOptions.area.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAreaOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAreaAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAreaDataLabelsOptions|Array<PlotAreaDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAreaDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
- * the series' `color` is used with the series' `fillOpacity`.
- *
- * In styled mode, the fill color can be set with the `.highcharts-area`
- * class name.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Fill opacity for the area. When you set an
- * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
- * should define the opacity in the `fillColor` with an rgba color
- * definition. The `fillOpacity` setting, also the default setting,
- * overrides the alpha component of the `color` setting.
- *
- * In styled mode, the fill opacity can be set with the `.highcharts-area`
- * class name.
- */
- fillOpacity?: number;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock) Whether the whole area or just the line should
- * respond to mouseover tooltips and other mouse or touch events.
- */
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotArearangeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotArearangeDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotArearangeDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotArearangeDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The area range series is a carteseian series with
- * higher and lower values for each point along an X axis, where the area
- * between the values is shaded.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `arearange` series are defined in plotOptions.arearange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotArearangeOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotArearangeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock) Extended data labels for range series types.
- * Range series data labels use no `x` and `y` options. Instead, they have
- * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
- * data label sets individually.
- */
- dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotArearangeDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
- * the series' `color` is used with the series' `fillOpacity`.
- *
- * In styled mode, the fill color can be set with the `.highcharts-area`
- * class name.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Fill opacity for the area. When you set an
- * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
- * should define the opacity in the `fillColor` with an rgba color
- * definition. The `fillOpacity` setting, also the default setting,
- * overrides the alpha component of the `color` setting.
- *
- * In styled mode, the fill opacity can be set with the `.highcharts-area`
- * class name.
- */
- fillOpacity?: number;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the arearange graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock) Whether the whole area or just the line should
- * respond to mouseover tooltips and other mouse or touch events.
- */
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAreasplineAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAreasplineDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAreasplineDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAreasplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAreasplineDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotAreasplineDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The area spline series is an area series where the
- * graph between the points is smoothed into a spline.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAreasplineOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAreasplineAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAreasplineDataLabelsOptions|Array<PlotAreasplineDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAreasplineDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
- * the series' `color` is used with the series' `fillOpacity`.
- *
- * In styled mode, the fill color can be set with the `.highcharts-area`
- * class name.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Fill opacity for the area. When you set an
- * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
- * should define the opacity in the `fillColor` with an rgba color
- * definition. The `fillOpacity` setting, also the default setting,
- * overrides the alpha component of the `color` setting.
- *
- * In styled mode, the fill opacity can be set with the `.highcharts-area`
- * class name.
- */
- fillOpacity?: number;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock) Whether the whole area or just the line should
- * respond to mouseover tooltips and other mouse or touch events.
- */
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAreasplinerangeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAreasplinerangeDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAreasplinerangeDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotAreasplinerangeDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The area spline range is a cartesian series type with
- * higher and lower Y values along an X axis. The area inside the range is
- * colored, and the graph outlining the area is a smoothed spline.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `areasplinerange` series are defined in
- * plotOptions.areasplinerange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAreasplinerangeOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAreasplinerangeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock) Extended data labels for range series types.
- * Range series data labels use no `x` and `y` options. Instead, they have
- * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
- * data label sets individually.
- */
- dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAreasplinerangeDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
- * the series' `color` is used with the series' `fillOpacity`.
- *
- * In styled mode, the fill color can be set with the `.highcharts-area`
- * class name.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Fill opacity for the area. When you set an
- * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
- * should define the opacity in the `fillColor` with an rgba color
- * definition. The `fillOpacity` setting, also the default setting,
- * overrides the alpha component of the `color` setting.
- *
- * In styled mode, the fill opacity can be set with the `.highcharts-area`
- * class name.
- */
- fillOpacity?: number;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the arearange graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock) Whether the whole area or just the line should
- * respond to mouseover tooltips and other mouse or touch events.
- */
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAroonAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) aroonDown line options.
- */
- export interface PlotAroonAroonDownOptions {
- /**
- * (Highstock) Styles for an aroonDown line.
- */
- styles?: PlotAroonAroonDownStylesOptions;
- }
- /**
- * (Highstock) Styles for an aroonDown line.
- */
- export interface PlotAroonAroonDownStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.aroon.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAroonDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAroonDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAroonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAroonDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Aroon. This series requires the `linkedTo` option to be set and
- * should be loaded after the `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `aroon` series are defined in plotOptions.aroon.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAroonOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAroonAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) aroonDown line options.
- */
- aroonDown?: PlotAroonAroonDownOptions;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAroonDataLabelsOptions|Array<PlotAroonDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAroonDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of aroon series points.
- */
- params?: PlotAroonParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAroonoscillatorAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAroonoscillatorDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAroonoscillatorDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAroonoscillatorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAroonoscillatorDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option to
- * be set and should be loaded after the `stock/indicators/indicators.js` and
- * `stock/indicators/aroon.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `aroonoscillator` series are defined in
- * plotOptions.aroonoscillator.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAroonoscillatorOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAroonoscillatorAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAroonoscillatorDataLabelsOptions|Array<PlotAroonoscillatorDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAroonoscillatorDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of aroon oscillator series
- * points.
- */
- params?: PlotAroonoscillatorParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of aroon oscillator series points.
- */
- export interface PlotAroonoscillatorParamsOptions {
- /**
- * (Highstock) Period for Aroon Oscillator
- */
- period?: number;
- }
- /**
- * (Highstock) Paramters used in calculation of aroon series points.
- */
- export interface PlotAroonParamsOptions {
- /**
- * (Highstock) Period for Aroon indicator
- */
- period?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotAtrAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotAtrDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotAtrDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotAtrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotAtrDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Average true range indicator (ATR). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `atr` series are defined in plotOptions.atr.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotAtrOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotAtrAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotAtrDataLabelsOptions|Array<PlotAtrDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotAtrDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotAtrParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotAtrParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotBarAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotBarDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotBarDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotBarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotBarDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotBarDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A bar series is a special type of column series where the
- * columns are horizontal.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bar` series are defined in plotOptions.bar.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotBarOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotBarAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotBarDataLabelsOptions|Array<PlotBarDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotBarDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotBbAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) Bottom line options.
- */
- export interface PlotBbBottomLineOptions {
- /**
- * (Highstock) Styles for a bottom line.
- */
- styles?: PlotBbBottomLineStylesOptions;
- }
- /**
- * (Highstock) Styles for a bottom line.
- */
- export interface PlotBbBottomLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.bb.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotBbDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotBbDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotBbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotBbDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Bollinger bands (BB). This series requires the `linkedTo` option
- * to be set and should be loaded after the `stock/indicators/indicators.js`
- * file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bb` series are defined in plotOptions.bb.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotBbOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotBbAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) Bottom line options.
- */
- bottomLine?: PlotBbBottomLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotBbDataLabelsOptions|Array<PlotBbDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotBbDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotBbParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) Top line options.
- */
- topLine?: PlotBbTopLineOptions;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotBbParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) Standard deviation for top and bottom bands.
- */
- standardDeviation?: number;
- }
- /**
- * (Highstock) Top line options.
- */
- export interface PlotBbTopLineOptions {
- /**
- * (Highstock) Styles for a bottom line.
- */
- styles?: PlotBbTopLineStylesOptions;
- }
- /**
- * (Highstock) Styles for a bottom line.
- */
- export interface PlotBbTopLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.bb.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotBellcurveAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotBellcurveDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotBellcurveDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotBellcurveDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotBellcurveDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) A bell curve is an areaspline series which represents the
- * probability density function of the normal distribution. It calculates mean
- * and standard deviation of the base series data and plots the curve according
- * to the calculated parameters.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotBellcurveOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotBellcurveAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotBellcurveDataLabelsOptions|Array<PlotBellcurveDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotBellcurveDataSortingOptions);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
- * the series' `color` is used with the series' `fillOpacity`.
- *
- * In styled mode, the fill color can be set with the `.highcharts-area`
- * class name.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Fill opacity for the area. When you set an
- * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
- * should define the opacity in the `fillColor` with an rgba color
- * definition. The `fillOpacity` setting, also the default setting,
- * overrides the alpha component of the `color` setting.
- *
- * In styled mode, the fill opacity can be set with the `.highcharts-area`
- * class name.
- */
- fillOpacity?: number;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) This option allows to define the length of the bell curve. A
- * unit of the length of the bell curve is standard deviation.
- */
- intervals?: number;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) Defines how many points should be plotted within 1 interval.
- * See `plotOptions.bellcurve.intervals`.
- */
- pointsInInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock) Whether the whole area or just the line should
- * respond to mouseover tooltips and other mouse or touch events.
- */
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotBoxplotAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotBoxplotDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotBoxplotDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotBoxplotDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotBoxplotDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotBoxplotDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A box plot is a convenient way of depicting groups of data
- * through their five-number summaries: the smallest observation (sample
- * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and largest
- * observation (sample maximum).
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotBoxplotOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotBoxplotAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) The dash style of the box.
- */
- boxDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotBoxplotDataLabelsOptions|Array<PlotBoxplotDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotBoxplotDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) The fill color of the box.
- *
- * In styled mode, the fill color can be set with the
- * `.highcharts-boxplot-box` class.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) The width of the line surrounding the box. If any of
- * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
- * applies to these lines.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts) The color of the median line. If `undefined`, the general
- * series color applies.
- *
- * In styled mode, the median stroke width can be set with the
- * `.highcharts-boxplot-median` class.
- */
- medianColor?: (ColorString|GradientColorObject);
- /**
- * (Highcharts) The dash style of the median.
- */
- medianDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
- * is used.
- *
- * In styled mode, the median stroke width can be set with the
- * `.highcharts-boxplot-median` class.
- */
- medianWidth?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- /**
- * (Highcharts) The dash style of the stem, the vertical line extending from
- * the box to the whiskers.
- */
- stemDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The width of the stem, the vertical line extending from the
- * box to the whiskers. If `undefined`, the width is inherited from the
- * lineWidth option.
- *
- * In styled mode, the stem stroke width can be set with the
- * `.highcharts-boxplot-stem` class.
- */
- stemWidth?: number;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) The color of the whiskers, the horizontal lines marking low
- * and high values. When `undefined`, the general series color is used.
- *
- * In styled mode, the whisker stroke can be set with the
- * `.highcharts-boxplot-whisker` class .
- */
- whiskerColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The dash style of the whiskers.
- */
- whiskerDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The length of the whiskers, the horizontal lines marking low
- * and high values. It can be a numerical pixel value, or a percentage value
- * of the box width. Set `0` to disable whiskers.
- */
- whiskerLength?: (number|string);
- /**
- * (Highcharts) The line width of the whiskers, the horizontal lines marking
- * low and high values. When `undefined`, the general lineWidth applies.
- *
- * In styled mode, the whisker stroke width can be set with the
- * `.highcharts-boxplot-whisker` class.
- */
- whiskerWidth?: number;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotBubbleAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotBubbleDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotBubbleDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotBubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotBubbleDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotBubbleDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotBubbleJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock) A bubble series is a three dimensional series type
- * where each point renders an X, Y and Z value. Each points is drawn as a
- * bubble where the position along the X and Y axes mark the X and Y values, and
- * the size of the bubble relates to the Z value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bubble` series are defined in plotOptions.bubble.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotBubbleOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotBubbleAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) If there are more points in the series than the
- * `animationLimit`, the animation won't run. Animation affects overall
- * performance and doesn't work well with heavy data series.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotBubbleDataLabelsOptions|Array<PlotBubbleDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotBubbleDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) Whether to display negative sized bubbles. The
- * threshold is given by the zThreshold option, and negative bubbles can be
- * visualized by setting negativeColor.
- */
- displayNegative?: boolean;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotBubbleJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
- * size between the `minSize` and `maxSize` to reflect the `z` value of each
- * bubble. Can be either pixels (when no unit is given), or a percentage of
- * the smallest one of the plot width and height.
- */
- maxSize?: (number|string);
- /**
- * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
- * size between the `minSize` and `maxSize` to reflect the `z` value of each
- * bubble. Can be either pixels (when no unit is given), or a percentage of
- * the smallest one of the plot width and height.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) When a point's Z value is below the zThreshold setting, this
- * color is used.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) Whether the bubble's value should be represented
- * by the area or the width of the bubble. The default, `area`, corresponds
- * best to the human perception of the size of each bubble.
- */
- sizeBy?: BubbleSizeByValue;
- /**
- * (Highcharts) When this is true, the absolute value of z determines the
- * size of the bubble. This means that with the default `zThreshold` of 0, a
- * bubble of value -1 will have the same size as a bubble of value 1, while
- * a bubble of value 0 will have a smaller size according to `minSize`.
- */
- sizeByAbsoluteValue?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) When this is true, the series will not cause the Y axis to
- * cross the zero plane (or threshold option) unless the data actually
- * crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
- * value in the data.
- */
- zMax?: number;
- /**
- * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
- * value in the data.
- */
- zMin?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- /**
- * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
- * are skipped. When `displayNegative` is `true` and a negativeColor is
- * given, points with lower Z is colored.
- */
- zThreshold?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotBulletAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotBulletDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotBulletDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotBulletDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotBulletDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A bullet graph is a variation of a bar graph. The bullet graph
- * features a single measure, compares it to a target, and displays it in the
- * context of qualitative ranges of performance that could be set using
- * plotBands on yAxis.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bullet` series are defined in plotOptions.bullet.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotBulletOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotBulletAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotBulletDataLabelsOptions|Array<PlotBulletDataLabelsOptions>);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) All options related with look and positiong of targets.
- */
- targetOptions?: PlotBulletTargetOptions;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) All options related with look and positiong of targets.
- */
- export interface PlotBulletTargetOptions {
- /**
- * (Highcharts) The border color of the rectangle representing the target.
- * When not set, the point's border color is used.
- *
- * In styled mode, use class `highcharts-bullet-target` instead.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) The border width of the rectangle representing the target.
- *
- * In styled mode, use class `highcharts-bullet-target` instead.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The color of the rectangle representing the target. When not
- * set, point's color (if set in point's options - `color`) or zone of the
- * target value (if `zones` or `negativeColor` are set) or the same color as
- * the point has is used.
- *
- * In styled mode, use class `highcharts-bullet-target` instead.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The height of the rectangle representing the target.
- */
- height?: number;
- /**
- * (Highcharts) The width of the rectangle representing the target. Could be
- * set as a pixel value or as a percentage of a column width.
- */
- width?: (number|string);
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotCandlestickAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotCandlestickDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotCandlestickDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotCandlestickDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotCandlestickDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotCandlestickDragDropGuideBoxOptions {
- /**
- * (Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highstock) A candlestick chart is a style of financial chart used to
- * describe price movements over time.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `candlestick` series are defined in
- * plotOptions.candlestick.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotCandlestickOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotCandlestickAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotCandlestickDataLabelsOptions|Array<PlotCandlestickDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotCandlestickDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highstock) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highstock) The color of the line/border of the candlestick.
- *
- * In styled mode, the line stroke can be set with the
- * `.highcharts-candlestick-series .highcahrts-point` rule.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The pixel width of the candlestick line/border. Defaults to
- * `1`.
- *
- * In styled mode, the line stroke width can be set with the
- * `.highcharts-candlestick-series .highcahrts-point` rule.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
- * should be represented as `point.y`, which is later used to set dataLabel
- * position and compare.
- */
- pointValKey?: OptionsPointValKeyValue;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highstock) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) The fill color of the candlestick when values are rising.
- *
- * In styled mode, the up color can be set with the
- * `.highcharts-candlestick-series .highcharts-point-up` rule.
- */
- upColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The specific line color for up candle sticks. The default is
- * to inherit the general `lineColor` setting.
- */
- upLineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotCciAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotCciDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotCciDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotCciDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotCciDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Commodity Channel Index (CCI). This series requires `linkedTo`
- * option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `cci` series are defined in plotOptions.cci.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotCciOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotCciAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotCciDataLabelsOptions|Array<PlotCciDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotCciDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotCciParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotCciParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotChaikinAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotChaikinDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotChaikinDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotChaikinDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotChaikinDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Chaikin Oscillator. This series requires the `linkedTo` option to
- * be set and should be loaded after the `stock/indicators/indicators.js` and
- * `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotChaikinOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotChaikinAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotChaikinDataLabelsOptions|Array<PlotChaikinDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotChaikinDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of Chaikin Oscillator series
- * points.
- */
- params?: PlotChaikinParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of Chaikin Oscillator series
- * points.
- */
- export interface PlotChaikinParamsOptions {
- /**
- * (Highstock) Periods for Chaikin Oscillator calculations.
- */
- periods?: Array<number>;
- /**
- * (Highstock) The id of volume series which is mandatory. For example using
- * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
- * using OHLC and volume values.
- */
- volumeSeriesID?: string;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotCmfAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotCmfDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotCmfDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotCmfDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotCmfDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Chaikin Money Flow indicator (cmf).
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `cmf` series are defined in plotOptions.cmf.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotCmfOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotCmfAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotCmfDataLabelsOptions|Array<PlotCmfDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotCmfDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotCmfParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotCmfParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The id of another series to use its data as volume data for
- * the indiator calculation.
- */
- volumeSeriesID?: string;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotColumnAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotColumnDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotColumnDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotColumnDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotColumnDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotColumnDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Column series display one column per value along an X
- * axis.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `column` series are defined in plotOptions.column.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotColumnOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotColumnAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotColumnDataLabelsOptions|Array<PlotColumnDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotColumnDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotColumnpyramidAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotColumnpyramidDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotColumnpyramidDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotColumnpyramidDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotColumnpyramidDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotColumnpyramidDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Column pyramid series display one pyramid per value
- * along an X axis. To display horizontal pyramids, set chart.inverted to
- * `true`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `columnpyramid` series are defined in
- * plotOptions.columnpyramid.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotColumnpyramidOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotColumnpyramidAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotColumnpyramidDataLabelsOptions|Array<PlotColumnpyramidDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotColumnpyramidDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotColumnrangeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotColumnrangeDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotColumnrangeDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotColumnrangeDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The column range is a cartesian series type with
- * higher and lower Y values along an X axis. To display horizontal bars, set
- * chart.inverted to `true`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `columnrange` series are defined in
- * plotOptions.columnrange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotColumnrangeOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotColumnrangeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock) Extended data labels for range series types.
- * Range series data labels have no `x` and `y` options. Instead, they have
- * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
- * data label sets individually.
- */
- dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotColumnrangeDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotCylinderAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotCylinderDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotCylinderDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotCylinderDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotCylinderDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
- * cylinder graph features cylindrical points.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotCylinderOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotCylinderAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotCylinderDataLabelsOptions|Array<PlotCylinderDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotCylinderDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotDemaAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotDemaDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotDemaDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotDemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotDemaDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Double exponential moving average (DEMA) indicator. This series
- * requires `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dema` series are defined in plotOptions.dema.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotDemaOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotDemaAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotDemaDataLabelsOptions|Array<PlotDemaDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotDemaDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotDemaParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotDemaParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- *
- * By default index value used to be set to 0. Since Highstock 7 by default
- * index is set to 3 which means that the ema indicator will be calculated
- * using Close values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotDependencywheelAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotDependencywheelDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotDependencywheelLevelsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not node and link options.
- */
- export interface PlotDependencywheelLevelsOptions {
- /**
- * (Highcharts) Can set `borderColor` on all nodes which lay on the same
- * level.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
- * level.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Can set `color` on all nodes which lay on the same level.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
- * level.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
- * points which lay on the same level.
- */
- dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) Decides which level takes effect from the options set in the
- * levels object.
- */
- level?: number;
- /**
- * (Highcharts) Can set `linkOpacity` on all points which lay on the same
- * level.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) Can set `states` on all nodes and points which lay on the
- * same level.
- */
- states?: SeriesStatesOptionsObject;
- }
- /**
- * (Highcharts) A dependency wheel chart is a type of flow diagram, where all
- * nodes are laid out in a circle, and the flow between the are drawn as link
- * bands.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dependencywheel` series are defined in
- * plotOptions.dependencywheel.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotDependencywheelOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotDependencywheelAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The center of the wheel relative to the plot area. Can be
- * percentages or pixel values. The default behaviour is to center the wheel
- * inside the plot area.
- */
- center?: Array<(number|string|null)>;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) Higher numbers makes the links in a sankey diagram or
- * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
- * straight.
- */
- curveFactor?: number;
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
- * appearing on top of the nodes and links. For sankey charts, data labels
- * are visible for the nodes by default, but hidden for links. This is
- * controlled by modifying the `nodeFormat`, and the `format` that applies
- * to links and is an empty string by default.
- */
- dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not node and link options.
- */
- levels?: Array<PlotDependencywheelLevelsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Opacity for the links between nodes in the sankey diagram.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) The minimal width for a line of a sankey. By default, 0
- * values are not shown.
- */
- minLinkWidth?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The padding between nodes in a sankey diagram or dependency
- * wheel, in pixels.
- *
- * If the number of nodes is so great that it is possible to lay them out
- * within the plot area with the given `nodePadding`, they will be rendered
- * with a smaller padding as a strategy to avoid overflow.
- */
- nodePadding?: number;
- /**
- * (Highcharts) The pixel width of each node in a sankey diagram or
- * dependency wheel, or the height in case the chart is inverted.
- */
- nodeWidth?: number;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) The start angle of the dependency wheel, in degrees where 0
- * is up.
- */
- startAngle?: number;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotDpoAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotDpoDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotDpoDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotDpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotDpoDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Detrended Price Oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dpo` series are defined in plotOptions.dpo.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotDpoOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotDpoAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotDpoDataLabelsOptions|Array<PlotDpoDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotDpoDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Parameters used in calculation of Detrended Price Oscillator
- * series points.
- */
- params?: PlotDpoParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Parameters used in calculation of Detrended Price Oscillator
- * series points.
- */
- export interface PlotDpoParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) Period for Detrended Price Oscillator
- */
- period?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotDumbbellAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotDumbbellDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotDumbbellDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotDumbbellDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The dumbbell series is a cartesian series with higher
- * and lower values for each point along an X axis, connected with a line
- * between the values. Requires `highcharts-more.js` and `modules/dumbbell.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotDumbbellOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotDumbbellAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Highcharts, Highstock) Color of the line that connects the dumbbell
- * point's values. By default it is the series' color.
- */
- connectorColor?: string;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock) Pixel width of the line that connects the
- * dumbbell point's values.
- */
- connectorWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock) Extended data labels for range series types.
- * Range series data labels use no `x` and `y` options. Instead, they have
- * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
- * data label sets individually.
- */
- dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotDumbbellDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- groupPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
- */
- lowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotEmaAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotEmaDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotEmaDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotEmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotEmaDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Exponential moving average indicator (EMA). This series requires
- * the `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ema` series are defined in plotOptions.ema.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotEmaOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotEmaAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotEmaDataLabelsOptions|Array<PlotEmaDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotEmaDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotEmaParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotEmaParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- *
- * By default index value used to be set to 0. Since Highstock 7 by default
- * index is set to 3 which means that the ema indicator will be calculated
- * using Close values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotErrorbarAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotErrorbarDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotErrorbarDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotErrorbarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotErrorbarDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotErrorbarDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Error bars are a graphical representation of the
- * variability of data and are used on graphs to indicate the error, or
- * uncertainty in a reported measurement.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotErrorbarOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotErrorbarAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) The dash style of the box.
- */
- boxDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the bars. This can be overridden by
- * stemColor and whiskerColor individually.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotErrorbarDataLabelsOptions|Array<PlotErrorbarDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotErrorbarDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) The fill color of the box.
- *
- * In styled mode, the fill color can be set with the
- * `.highcharts-boxplot-box` class.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) The width of the line surrounding the box. If any of
- * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
- * applies to these lines.
- */
- lineWidth?: number;
- /**
- * (Highcharts) The parent series of the error bar. The default value links
- * it to the previous series. Otherwise, use the id of the parent series.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts) The color of the median line. If `undefined`, the general
- * series color applies.
- *
- * In styled mode, the median stroke width can be set with the
- * `.highcharts-boxplot-median` class.
- */
- medianColor?: (ColorString|GradientColorObject);
- /**
- * (Highcharts) The dash style of the median.
- */
- medianDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
- * is used.
- *
- * In styled mode, the median stroke width can be set with the
- * `.highcharts-boxplot-median` class.
- */
- medianWidth?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- /**
- * (Highcharts) The dash style of the stem, the vertical line extending from
- * the box to the whiskers.
- */
- stemDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The width of the stem, the vertical line extending from the
- * box to the whiskers. If `undefined`, the width is inherited from the
- * lineWidth option.
- *
- * In styled mode, the stem stroke width can be set with the
- * `.highcharts-boxplot-stem` class.
- */
- stemWidth?: number;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) The color of the whiskers, the horizontal lines marking low
- * and high values. When `undefined`, the general series color is used.
- *
- * In styled mode, the whisker stroke can be set with the
- * `.highcharts-boxplot-whisker` class .
- */
- whiskerColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The dash style of the whiskers.
- */
- whiskerDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The length of the whiskers, the horizontal lines marking low
- * and high values. It can be a numerical pixel value, or a percentage value
- * of the box width. Set `0` to disable whiskers.
- */
- whiskerLength?: (number|string);
- /**
- * (Highcharts) The line width of the whiskers, the horizontal lines marking
- * low and high values. When `null`, the general lineWidth applies.
- */
- whiskerWidth?: number;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotFlagsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotFlagsDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotFlagsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotFlagsDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotFlagsDragDropGuideBoxOptions {
- /**
- * (Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highstock) Flags are used to mark events in stock charts. They can be added
- * on the timeline, or attached to a specific series.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `flags` series are defined in plotOptions.flags.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotFlagsOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highstock) Whether the flags are allowed to overlap sideways. If
- * `false`, the flags are moved sideways using an algorithm that seeks to
- * place every flag as close as possible to its original position.
- */
- allowOverlapX?: boolean;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotFlagsDataLabelsOptions|Array<PlotFlagsDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotFlagsDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) The fill color for the flags.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highstock) Fixed height of the flag's shape. By default, height is
- * autocalculated according to the flag's title.
- */
- height?: number;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highstock) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highstock) The color of the line/border of the flag.
- *
- * In styled mode, the stroke is set in the
- * `.highcharts-flag-series.highcharts-point` rule.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The pixel width of the flag's line/border.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) In case the flag is placed on a series, on what point key to
- * place it. Line and columns have one key, `y`. In range or OHLC-type
- * series, however, the flag can optionally be placed on the `open`, `high`,
- * `low` or `close` key.
- */
- onKey?: OptionsOnKeyValue;
- /**
- * (Highstock) The id of the series that the flags should be drawn on. If no
- * id is given, the flags are drawn on the x axis.
- */
- onSeries?: string;
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) The shape of the marker. Can be one of "flag", "circlepin",
- * "squarepin", or an image of the format `url(/path-to-image.jpg)`.
- * Individual shapes can also be set for each point.
- */
- shape?: FlagsShapeValue;
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highstock) When multiple flags in the same series fall on the same
- * value, this number determines the vertical offset between them.
- */
- stackDistance?: number;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highstock) The text styles of the flag.
- *
- * In styled mode, the styles are set in the `.highcharts-flag-series
- * .highcharts-point` rule.
- */
- style?: CSSObject;
- /**
- * (Highstock) Text alignment for the text inside the flag.
- */
- textAlign?: OptionsTextAlignValue;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highstock) The text to display on each flag. This can be defined on
- * series level, or individually for each point. Defaults to `"A"`.
- */
- title?: string;
- /**
- * (Highstock) Specific tooltip options for flag series. Flag series
- * tooltips are different from most other types in that a flag doesn't have
- * a data value, so the tooltip rather displays the `text` option for each
- * point.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) Whether to use HTML to render the flag texts. Using HTML
- * allows for advanced formatting, images and reliable bi-directional text
- * rendering. Note that exported images won't respect the HTML, and that
- * HTML won't respect Z-index settings.
- */
- useHTML?: boolean;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highstock) Fixed width of the flag's shape. By default, width is
- * autocalculated according to the flag's title.
- */
- width?: number;
- /**
- * (Highstock) The y position of the top left corner of the flag relative to
- * either the series (if onSeries is defined), or the x axis. Defaults to
- * `-30`.
- */
- y?: number;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotFunnel3dAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotFunnel3dDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotFunnel3dDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotFunnel3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotFunnel3dDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel charts
- * are a type of chart often used to visualize stages in a sales project, where
- * the top are the initial stages with the most clients.
- *
- * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
- * module are loaded.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotFunnel3dOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotFunnel3dAnimationOptions);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotFunnel3dDataLabelsOptions|Array<PlotFunnel3dDataLabelsOptions>);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) By deafult sides fill is set to a gradient through this
- * option being set to `true`. Set to `false` to get solid color for the
- * sides.
- */
- gradientForSides?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) The height of the series. If it is a number it defines the
- * pixel height, if it is a percentage string it is the percentage of the
- * plot area height.
- */
- height?: (number|string);
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The height of the neck, the lower part of the funnel. A
- * number defines pixel width, a percentage string defines a percentage of
- * the plot area height.
- */
- neckHeight?: (number|string);
- /**
- * (Highcharts) The width of the neck, the lower part of the funnel. A
- * number defines pixel width, a percentage string defines a percentage of
- * the plot area width.
- */
- neckWidth?: (number|string);
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) A reversed funnel has the widest area down. A reversed
- * funnel with no neck width and neck height is a pyramid.
- */
- reversed?: boolean;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) The max width of the series compared to the width of the
- * plot area, or the pixel width if it is a number.
- */
- width?: (number|string);
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Initial animation is by default disabled for the funnel chart.
- */
- export interface PlotFunnelAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotFunnelDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Funnel charts are a type of chart often used to visualize stages
- * in a sales project, where the top are the initial stages with the most
- * clients. It requires that the modules/funnel.js file is loaded.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `funnel` series are defined in plotOptions.funnel.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotFunnelOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Initial animation is by default disabled for the funnel
- * chart.
- */
- animation?: (boolean|PlotFunnelAnimationOptions);
- /**
- * (Highcharts) The color of the border surrounding each slice. When `null`,
- * the border takes the same color as the slice fill. This can be used
- * together with a `borderWidth` to fill drawing gaps created by
- * antialiazing artefacts in borderless pies.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the border surrounding each slice.
- *
- * When setting the border width to 0, there may be small gaps between the
- * slices due to SVG antialiasing artefacts. To work around this, keep the
- * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The center of the series. By default, it is centered in the
- * middle of the plot area, so it fills the plot area height.
- */
- center?: Array<(number|string)>;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The color of the pie series. A pie series is represented as
- * an empty circle if the total sum of its values is 0. Use this property to
- * define the color of its border.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts) A series specific or series type specific color set to use
- * instead of the global colors.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
- /**
- * (Highcharts) The thickness of a 3D pie.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
- * right. Defaults to `startAngle` plus 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) The height of the funnel or pyramid. If it is a number it
- * defines the pixel height, if it is a percentage string it is the
- * percentage of the plot area height.
- */
- height?: (number|string);
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The height of the neck, the lower part of the funnel. A
- * number defines pixel width, a percentage string defines a percentage of
- * the plot area height.
- */
- neckHeight?: (number|string);
- /**
- * (Highcharts) The width of the neck, the lower part of the funnel. A
- * number defines pixel width, a percentage string defines a percentage of
- * the plot area width.
- */
- neckWidth?: (number|string);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) A reversed funnel has the widest area down. A reversed
- * funnel with no neck width and neck height is a pyramid.
- */
- reversed?: boolean;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Since 2.1, pies are not shown in the legend by default.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- /**
- * (Highcharts) Options for the series states.
- */
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip. When `stickyTracking` is
- * false and `tooltip.shared` is false, the tooltip will be hidden when
- * moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) The width of the funnel compared to the width of the plot
- * area, or the pixel width if it is a number.
- */
- width?: (number|string);
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Gantt) Enable or disable the initial animation when a series is displayed.
- * The animation can also be set as a configuration object. Please note that
- * this option only applies to the initial animation of the series itself. For
- * other animations, see chart.animation and the animation parameter under the
- * API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotGanttAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotGanttDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotGanttDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotGanttDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Gantt) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotGanttDragDropGuideBoxOptions {
- /**
- * (Gantt) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Gantt) A `gantt` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `gantt` series are defined in plotOptions.gantt.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotGanttOptions {
- /**
- * (Gantt) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Gantt) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Gantt) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotGanttAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Gantt) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Gantt) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Gantt) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Gantt) The main color of the series. In line type series it applies to
- * the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
- * all points of the same Y-axis category the same color.
- */
- colorByPoint?: boolean;
- /**
- * (Gantt) Styled mode only. A specific color index to use for the series,
- * so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Gantt) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Gantt) A reserved subspace to store options and values for customized
- * functionality. Here you can add additional data for your own event
- * callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Gantt) Name of the dash style to use for the graph, or for some series
- * types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotGanttDataLabelsOptions|Array<PlotGanttDataLabelsOptions>);
- /**
- * (Gantt) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Gantt) The draggable-points module allows points to be moved around or
- * modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Gantt) Enable or disable the mouse tracking for a specific series. This
- * includes point tooltips and click events on graphs and points. For large
- * datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Gantt) General event handlers for the series items. These event hooks
- * can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Gantt) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Gantt) An array specifying which option maps to which key in the data
- * point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Gantt) Opacity of a series parts: line, fill (e.g. area) and dataLabels.
- */
- opacity?: number;
- /**
- * (Gantt) A partial fill for each point, typically used to visualize how
- * much of a task is performed. See completed.
- */
- partialFill?: PlotGanttPartialFillOptions;
- /**
- * (Gantt) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Gantt) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Gantt) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Gantt) Whether to apply a drop shadow to the graph line. Since 2.3 the
- * shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Gantt) If true, a checkbox is displayed next to the legend item to allow
- * selecting the series. The state of the checkbox is determined by the
- * `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Gantt) Whether to display this particular series or series type in the
- * legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Gantt) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Gantt) Sticky tracking of mouse events. When true, the `mouseOut` event
- * on a series isn't triggered until the mouse moves over another series, or
- * out of the plot area. When false, the `mouseOut` event on a series is
- * triggered when the mouse leaves the area around the series' graph or
- * markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Gantt) A configuration object for the tooltip rendering of each single
- * series. Properties are inherited from tooltip, but only the following
- * properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Gantt) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Gantt) A partial fill for each point, typically used to visualize how much
- * of a task is performed. See completed.
- */
- export interface PlotGanttPartialFillOptions {
- /**
- * (Highcharts, Highstock, Gantt) The fill color to be used for partial
- * fills. Defaults to a darker shade of the point color.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotGaugeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotGaugeDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Data labels for the gauge. For gauges, the data labels are
- * enabled by default and shown in a bordered box below the point.
- */
- export interface PlotGaugeDataLabelsOptions {
- /**
- * (Highcharts) The alignment of the data label compared to the point. If
- * `right`, the right side of the label should be touching the point. For
- * points with an extent, like columns, the alignments also dictates how to
- * align it inside the box, as given with the inside option. Can be one of
- * `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts) Whether to allow data labels to overlap. To make the labels
- * less sensitive for overlapping, the dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotGaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The background color or gradient for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The border color for the data label. Defaults to
- * `undefined`.
- */
- borderColor?: string;
- /**
- * (Highcharts) The border radius in pixels for the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts) The border width in pixels for the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts) A class name for the data label. Particularly in styled
- * mode, this can be used to give each series' or point's data label unique
- * styling. In addition to this option, a default color class name is added
- * so that we can give the labels a contrast text shadow.
- */
- className?: string;
- /**
- * (Highcharts) The text color for the data labels. Defaults to `undefined`.
- * For certain series types, like column or map, the data labels can be
- * drawn inside the points. In this case the data label will be drawn with
- * maximum contrast by default. Additionally, it will be given a
- * `text-outline` style with the opposite color, to further increase the
- * contrast. This can be overridden by setting the `text-outline` style to
- * `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Whether to hide data labels that are outside the plot area.
- * By default, the data label is moved inside the plot area according to the
- * overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts) Enable or disable the data labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts) A declarative filter to control of which data labels to
- * display. The declarative filter is designed for use when callback
- * functions are not available, like when the chart options require a pure
- * JSON structure or for use with graphical editors. For programmatic
- * control, use the `formatter` instead, and return `undefined` to disable a
- * single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts) A format string for the data label. Available variables are
- * the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the data label. Note
- * that if a `format` is defined, the format takes precedence and the
- * formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts) For points with an extent, like columns or map areas,
- * whether to align the data label inside the box or to the actual value
- * point. Defaults to `false` in most cases, `true` in stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts) Format for points with the value of null. Works analogously
- * to format. `nullFormat` can be applied only to series which support
- * displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts) Callback JavaScript function that defines formatting for
- * points with the value of null. Works analogously to formatter.
- * `nullPointFormatter` can be applied only to series which support
- * displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts) How to handle data labels that flow outside the plot area.
- * The default is `"justify"`, which aligns them inside the plot area. For
- * columns and bars, this means it will be moved inside the bar. To display
- * data labels outside the plot area, set `crop` to `false` and `overflow`
- * to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
- * set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts) Aligns data labels relative to points. If `center` alignment
- * is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts) Text rotation in degrees. Note that due to a more complex
- * structure, backgrounds, borders and padding will be lost on a rotated
- * data label.
- */
- rotation?: number;
- /**
- * (Highcharts) The shadow of the box. Works best with `borderWidth` or
- * `backgroundColor`. Since 2.3 the shadow can be an object configuration
- * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts) Styles for the label. The default `color` setting is
- * `"contrast"`, which is a pseudo color that Highcharts picks up and
- * applies the maximum contrast to the underlying point item, for example
- * the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts) Options for a label text which should follow marker's shape.
- * Border and background are disabled for a label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
- * `middle` or `bottom`. The default value depends on the data, for instance
- * in a column chart, the label is above positive values and below negative
- * values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts) The x position offset of the label relative to the point in
- * pixels.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of the label relative to the point in
- * pixels.
- */
- y?: number;
- /**
- * (Highcharts) The Z index of the data labels. The default Z index puts it
- * above the series. Use a Z index of 2 to display it behind the series.
- */
- z?: number;
- zIndex?: number;
- }
- /**
- * (Highcharts) Options for the dial or arrow pointer of the gauge.
- *
- * In styled mode, the dial is styled with the `.highcharts-gauge-series
- * .highcharts-dial` rule.
- */
- export interface PlotGaugeDialOptions {
- /**
- * (Highcharts) The background or fill color of the gauge's dial.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The length of the dial's base part, relative to the total
- * radius or length of the dial.
- */
- baseLength?: string;
- /**
- * (Highcharts) The pixel width of the base of the gauge dial. The base is
- * the part closest to the pivot, defined by baseLength.
- */
- baseWidth?: number;
- /**
- * (Highcharts) The border color or stroke of the gauge's dial. By default,
- * the borderWidth is 0, so this must be set in addition to a custom border
- * color.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the gauge dial border in pixels.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The radius or length of the dial, in percentages relative to
- * the radius of the gauge itself.
- */
- radius?: string;
- /**
- * (Highcharts) The length of the dial's rear end, the part that extends out
- * on the other side of the pivot. Relative to the dial's length.
- */
- rearLength?: string;
- /**
- * (Highcharts) The width of the top of the dial, closest to the perimeter.
- * The pivot narrows in from the base to the top.
- */
- topWidth?: number;
- }
- /**
- * (Highcharts) Gauges are circular plots displaying one or more values with a
- * dial pointing to values along the perimeter.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `gauge` series are defined in plotOptions.gauge.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotGaugeOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotGaugeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts) Data labels for the gauge. For gauges, the data labels are
- * enabled by default and shown in a bordered box below the point.
- */
- dataLabels?: (PlotGaugeDataLabelsOptions|Array<PlotGaugeDataLabelsOptions>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Options for the dial or arrow pointer of the gauge.
- *
- * In styled mode, the dial is styled with the `.highcharts-gauge-series
- * .highcharts-dial` rule.
- */
- dial?: PlotGaugeDialOptions;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Allow the dial to overshoot the end of the perimeter axis by
- * this many degrees. Say if the gauge axis goes from 0 to 60, a value of
- * 100, or 1000, will show 5 degrees beyond the end of the axis when this
- * option is set to 5.
- */
- overshoot?: number;
- /**
- * (Highcharts) Options for the pivot or the center point of the gauge.
- *
- * In styled mode, the pivot is styled with the `.highcharts-gauge-series
- * .highcharts-pivot` rule.
- */
- pivot?: PlotGaugePivotOptions;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Defaults to false for gauge series.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) When this option is `true`, the dial will wrap around the
- * axes. For instance, in a full-range gauge going from 0 to 360, a value of
- * 400 will point to 40\. When `wrap` is `false`, the dial stops at 360.
- */
- wrap?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Options for the pivot or the center point of the gauge.
- *
- * In styled mode, the pivot is styled with the `.highcharts-gauge-series
- * .highcharts-pivot` rule.
- */
- export interface PlotGaugePivotOptions {
- /**
- * (Highcharts) The background color or fill of the pivot.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The border or stroke color of the pivot. In able to change
- * this, the borderWidth must also be set to something other than the
- * default 0.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The border or stroke width of the pivot.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The pixel radius of the pivot.
- */
- radius?: number;
- }
- /**
- * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
- * series.
- */
- export interface PlotHeatmapAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotHeatmapDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotHeatmapDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotHeatmapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotHeatmapDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
- * state by default, the `default` state.
- */
- export interface PlotHeatmapDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highmaps) A heatmap is a graphical representation of data where
- * the individual values contained in a matrix are represented as colors.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotHeatmapOptions {
- /**
- * (Highcharts, Highmaps) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highmaps) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
- * series.
- */
- animation?: (boolean|PlotHeatmapAnimationOptions);
- /**
- * (Highcharts, Highmaps) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highmaps) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width for each heat map item.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highmaps) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In heat maps this color is
- * rarely used, as we mostly use the color to denote the value of each
- * point. Unless options are set in the colorAxis, the default value is
- * pulled from the options.colors array.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highmaps) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highmaps) The column size - how many X axis units each
- * column in the heatmap should span.
- */
- colsize?: number;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highmaps) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotHeatmapDataLabelsOptions|Array<PlotHeatmapDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotHeatmapDataSortingOptions);
- /**
- * (Highcharts, Highmaps) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highmaps) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highmaps) General event handlers for the series items. These
- * event hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highmaps) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highmaps) An array specifying which option maps to which key
- * in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highmaps) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highmaps) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highmaps) The color applied to null points. In styled mode,
- * a general CSS class is applied instead.
- */
- nullColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highmaps) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highmaps) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highmaps) Padding between the points in the heatmap.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highmaps) The row size - how many Y axis units each heatmap
- * row should span.
- */
- rowsize?: number;
- /**
- * (Highcharts, Highmaps) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highmaps) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highmaps) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotHistogramAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotHistogramDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotHistogramDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotHistogramDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotHistogramDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) A histogram is a column series which represents the distribution
- * of the data set in the base series. Histogram splits data into bins and shows
- * their frequencies.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `histogram` series are defined in plotOptions.histogram.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotHistogramOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotHistogramAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) A preferable number of bins. It is a suggestion, so a
- * histogram may have a different number of bins. By default it is set to
- * the square root of the base series' data length. Available options are:
- * `square-root`, `sturges`, `rice`. You can also define a function which
- * takes a `baseSeries` as a parameter and should return a positive integer.
- */
- binsNumber?: ("rice"|"square-root"|"sturges"|number|Function);
- /**
- * (Highcharts) Width of each bin. By default the bin's width is calculated
- * as `(max - min) / number of bins`. This option takes precedence over
- * binsNumber.
- */
- binWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotHistogramDataLabelsOptions|Array<PlotHistogramDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotHistogramDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: string;
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotIkhAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) The styles for Chikou line
- */
- export interface PlotIkhChikouLineOptions {
- styles?: PlotIkhChikouLineStylesOptions;
- }
- export interface PlotIkhChikouLineStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotIkhDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotIkhDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotIkhDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotIkhDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) The styles for Kijun line
- */
- export interface PlotIkhKijunLineOptions {
- styles?: PlotIkhKijunLineStylesOptions;
- }
- export interface PlotIkhKijunLineStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option
- * to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ikh` series are defined in plotOptions.ikh.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotIkhOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotIkhAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) The styles for Chikou line
- */
- chikouLine?: PlotIkhChikouLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotIkhDataLabelsOptions|Array<PlotIkhDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotIkhDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highstock) The styles for Kijun line
- */
- kijunLine?: PlotIkhKijunLineOptions;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotIkhParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) The styles for area between Senkou Span A and B.
- */
- senkouSpan?: PlotIkhSenkouSpanOptions;
- /**
- * (Highstock) The styles for Senkou Span A line
- */
- senkouSpanA?: PlotIkhSenkouSpanAOptions;
- /**
- * (Highstock) The styles for Senkou Span B line
- */
- senkouSpanB?: PlotIkhSenkouSpanBOptions;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highstock) The styles for Tenkan line
- */
- tenkanLine?: PlotIkhTenkanLineOptions;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotIkhParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The base period for Senkou Span B calculations
- */
- periodSenkouSpanB?: number;
- /**
- * (Highstock) The base period for Tenkan calculations.
- */
- periodTenkan?: number;
- }
- /**
- * (Highstock) The styles for Senkou Span A line
- */
- export interface PlotIkhSenkouSpanAOptions {
- styles?: PlotIkhSenkouSpanAStylesOptions;
- }
- export interface PlotIkhSenkouSpanAStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) The styles for Senkou Span B line
- */
- export interface PlotIkhSenkouSpanBOptions {
- styles?: PlotIkhSenkouSpanBStylesOptions;
- }
- export interface PlotIkhSenkouSpanBStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) The styles for area between Senkou Span A and B.
- */
- export interface PlotIkhSenkouSpanOptions {
- /**
- * (Highstock) Color of the area between Senkou Span A and B, when Senkou
- * Span A is above Senkou Span B. Note that if a `style.fill` is defined,
- * the `color` takes precedence and the `style.fill` is ignored.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Color of the area between Senkou Span A and B, when Senkou
- * Span A is under Senkou Span B.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- styles?: any;
- }
- /**
- * (Highstock) The styles for Tenkan line
- */
- export interface PlotIkhTenkanLineOptions {
- styles?: PlotIkhTenkanLineStylesOptions;
- }
- export interface PlotIkhTenkanLineStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotItemAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotItemDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) An item chart is an infographic chart where a number of items
- * are laid out in either a rectangular or circular pattern. It can be used to
- * visualize counts within a group, or for the circular pattern, typically a
- * parliament.
- *
- * The circular layout has much in common with a pie chart. Many of the item
- * series options, like `center`, `size` and data label positioning, are
- * inherited from the pie series and don't apply for rectangular layouts.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `item` series are defined in plotOptions.item.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotItemOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotItemAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The center of the pie chart relative to the plot area. Can
- * be percentages or pixel values. The default behaviour (as of 3.0) is to
- * center the pie so that all slices and data labels are within the plot
- * area. As a consequence, the pie may actually jump around in a chart with
- * dynamic values, as the data labels move. In that case, the center should
- * be explicitly set, for example to `["50%", "50%"]`.
- */
- center?: [(number|string|null), (number|string|null)];
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The color of the pie series. A pie series is represented as
- * an empty circle if the total sum of its values is 0. Use this property to
- * define the color of its border.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts) A series specific or series type specific color set to use
- * instead of the global colors.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) In circular view, the end angle of the item layout, in
- * degrees where 0 is up.
- */
- endAngle?: (number|undefined);
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) In circular view, the size of the inner diameter of the
- * circle. Can be a percentage or pixel value. Percentages are relative to
- * the outer perimeter. Pixel values are given as integers.
- *
- * If the `rows` option is set, it overrides the `innerSize` setting.
- */
- innerSize?: (number|string);
- /**
- * (Highcharts) The padding between the items, given in relative size where
- * the size of the item is 1.
- */
- itemPadding?: number;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) The layout of the items in rectangular view. Can be either
- * `horizontal` or `vertical`.
- */
- layout?: string;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) The number of rows to display in the rectangular or circular
- * view. If the `innerSize` is set, it will be overridden by the `rows`
- * setting.
- */
- rows?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Since 2.1, pies are not shown in the legend by default.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) The diameter of the pie relative to the plot area. Can be a
- * percentage or pixel value. Pixel values are given as integers. The
- * default behaviour (as of 3.0) is to scale to the plot area and give room
- * for data labels within the plot area. slicedOffset is also included in
- * the default size calculation. As a consequence, the size of the pie may
- * vary when points are updated and data labels more around. In that case it
- * is best to set a fixed value, for example `"75%"`.
- */
- size?: (number|string|null);
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) In circular view, the start angle of the item layout, in
- * degrees where 0 is up.
- */
- startAngle?: (number|undefined);
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip. When `stickyTracking` is
- * false and `tooltip.shared` is false, the tooltip will be hidden when
- * moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotKeltnerchannelsAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) Bottom line options.
- */
- export interface PlotKeltnerchannelsBottomLineOptions {
- /**
- * (Highstock) Styles for a bottom line.
- */
- styles?: PlotKeltnerchannelsBottomLineStylesOptions;
- }
- /**
- * (Highstock) Styles for a bottom line.
- */
- export interface PlotKeltnerchannelsBottomLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * `plotOptions.keltnerchannels.color`
- */
- lineColor?: string;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotKeltnerchannelsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotKeltnerchannelsDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotKeltnerchannelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotKeltnerchannelsDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Keltner Channels. This series requires the `linkedTo` option to
- * be set and should be loaded after the `stock/indicators/indicators.js`,
- * `stock/indicators/atr.js`, and `stock/ema/.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `keltnerchannels` series are defined in
- * plotOptions.keltnerchannels.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotKeltnerchannelsOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotKeltnerchannelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) Bottom line options.
- */
- bottomLine?: PlotKeltnerchannelsBottomLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotKeltnerchannelsDataLabelsOptions|Array<PlotKeltnerchannelsDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotKeltnerchannelsDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotKeltnerchannelsParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) Top line options.
- */
- topLine?: PlotKeltnerchannelsTopLineOptions;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotKeltnerchannelsParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The ATR multiplier.
- */
- multiplierATR?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The ATR period.
- */
- periodATR?: number;
- }
- /**
- * (Highstock) Top line options.
- */
- export interface PlotKeltnerchannelsTopLineOptions {
- /**
- * (Highstock) Styles for a bottom line.
- */
- styles?: PlotKeltnerchannelsTopLineStylesOptions;
- }
- /**
- * (Highstock) Styles for a bottom line.
- */
- export interface PlotKeltnerchannelsTopLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * `plotOptions.keltnerchannels.color`
- */
- lineColor?: string;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotLineAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotLinearregressionangleAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotLinearregressionangleDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotLinearregressionangleDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotLinearregressionangleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotLinearregressionangleDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Linear regression angle indicator. This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregressionangle` series are defined in
- * plotOptions.linearregressionangle.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotLinearregressionangleOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotLinearregressionangleAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotLinearregressionangleDataLabelsOptions|Array<PlotLinearregressionangleDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotLinearregressionangleDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotLinearregressionangleParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotLinearregressionangleParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) Unit (in milliseconds) for the x axis distances used to
- * compute the regression line paramters (slope & intercept) for every
- * range. In Highstock the x axis values are always represented in
- * milliseconds which may cause that distances between points are "big"
- * integer numbers.
- *
- * Highstock's linear regression algorithm (least squares method) will
- * utilize these "big" integers for finding the slope and the intercept of
- * the regression line for each period. In consequence, this value may be a
- * very "small" decimal number that's hard to interpret by a human.
- *
- * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
- * algorithm to treat `86400000` as `1` while computing the slope and the
- * intercept. This may enchance the legiblitity of the indicator's values.
- *
- * Default value is the closest distance between two data points.
- */
- xAxisUnit?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotLinearregressionAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotLinearregressionDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotLinearregressionDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotLinearregressionDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotLinearregressionDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotLinearregressioninterceptAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotLinearregressioninterceptDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotLinearregressioninterceptDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotLinearregressioninterceptDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotLinearregressioninterceptDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Linear regression intercept indicator. This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregressionintercept` series are defined in
- * plotOptions.linearregressionintercept.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotLinearregressioninterceptOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotLinearregressioninterceptAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotLinearregressioninterceptDataLabelsOptions|Array<PlotLinearregressioninterceptDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotLinearregressioninterceptDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotLinearregressioninterceptParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotLinearregressioninterceptParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) Unit (in milliseconds) for the x axis distances used to
- * compute the regression line paramters (slope & intercept) for every
- * range. In Highstock the x axis values are always represented in
- * milliseconds which may cause that distances between points are "big"
- * integer numbers.
- *
- * Highstock's linear regression algorithm (least squares method) will
- * utilize these "big" integers for finding the slope and the intercept of
- * the regression line for each period. In consequence, this value may be a
- * very "small" decimal number that's hard to interpret by a human.
- *
- * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
- * algorithm to treat `86400000` as `1` while computing the slope and the
- * intercept. This may enchance the legiblitity of the indicator's values.
- *
- * Default value is the closest distance between two data points.
- */
- xAxisUnit?: number;
- }
- /**
- * (Highstock) Linear regression indicator. This series requires `linkedTo`
- * option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregression` series are defined in
- * plotOptions.linearregression.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotLinearregressionOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotLinearregressionAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotLinearregressionDataLabelsOptions|Array<PlotLinearregressionDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotLinearregressionDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotLinearregressionParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotLinearregressionParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) Unit (in milliseconds) for the x axis distances used to
- * compute the regression line paramters (slope & intercept) for every
- * range. In Highstock the x axis values are always represented in
- * milliseconds which may cause that distances between points are "big"
- * integer numbers.
- *
- * Highstock's linear regression algorithm (least squares method) will
- * utilize these "big" integers for finding the slope and the intercept of
- * the regression line for each period. In consequence, this value may be a
- * very "small" decimal number that's hard to interpret by a human.
- *
- * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
- * algorithm to treat `86400000` as `1` while computing the slope and the
- * intercept. This may enchance the legiblitity of the indicator's values.
- *
- * Default value is the closest distance between two data points.
- */
- xAxisUnit?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotLinearregressionslopeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotLinearregressionslopeDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotLinearregressionslopeDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotLinearregressionslopeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotLinearregressionslopeDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Linear regression slope indicator. This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregressionslope` series are defined in
- * plotOptions.linearregressionslope.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotLinearregressionslopeOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotLinearregressionslopeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotLinearregressionslopeDataLabelsOptions|Array<PlotLinearregressionslopeDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotLinearregressionslopeDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotLinearregressionslopeParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotLinearregressionslopeParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) Unit (in milliseconds) for the x axis distances used to
- * compute the regression line paramters (slope & intercept) for every
- * range. In Highstock the x axis values are always represented in
- * milliseconds which may cause that distances between points are "big"
- * integer numbers.
- *
- * Highstock's linear regression algorithm (least squares method) will
- * utilize these "big" integers for finding the slope and the intercept of
- * the regression line for each period. In consequence, this value may be a
- * very "small" decimal number that's hard to interpret by a human.
- *
- * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
- * algorithm to treat `86400000` as `1` while computing the slope and the
- * intercept. This may enchance the legiblitity of the indicator's values.
- *
- * Default value is the closest distance between two data points.
- */
- xAxisUnit?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotLineDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotLineDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotLineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotLineDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotLineDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A line series displays information as a series of
- * data points connected by straight line segments.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `line` series are defined in plotOptions.line.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotLineOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotLineAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotLineDataLabelsOptions|Array<PlotLineDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotLineDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotLollipopAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotLollipopDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotLollipopDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotLollipopDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The lollipop series is a carteseian series with a
- * line anchored from the x axis and a dot at the end to mark the value.
- * Requires `highcharts-more.js`, `modules/dumbbell.js` and
- * `modules/lollipop.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotLollipopOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotLollipopAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Highcharts, Highstock) Color of the line that connects the dumbbell
- * point's values. By default it is the series' color.
- */
- connectorColor?: string;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock) Pixel width of the line that connects the
- * dumbbell point's values.
- */
- connectorWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock) Extended data labels for range series types.
- * Range series data labels use no `x` and `y` options. Instead, they have
- * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
- * data label sets individually.
- */
- dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotLollipopDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- groupPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMacdAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMacdDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMacdDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMacdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMacdDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) The styles for macd line
- */
- export interface PlotMacdMacdLineOptions {
- styles?: PlotMacdMacdLineStylesOptions;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- export interface PlotMacdMacdLineStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) Moving Average Convergence Divergence (MACD). This series
- * requires `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `macd` series are defined in plotOptions.macd.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMacdOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMacdAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMacdDataLabelsOptions|Array<PlotMacdDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMacdDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- groupPadding?: number;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) The styles for macd line
- */
- macdLine?: PlotMacdMacdLineOptions;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- minPointLength?: number;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotMacdParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- pointPadding?: number;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) The styles for signal line
- */
- signalLine?: PlotMacdSignalLineOptions;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotMacdParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The long period for indicator calculations.
- */
- longPeriod?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The short period for indicator calculations.
- */
- shortPeriod?: number;
- /**
- * (Highstock) The base period for signal calculations.
- */
- signalPeriod?: number;
- }
- /**
- * (Highstock) The styles for signal line
- */
- export interface PlotMacdSignalLineOptions {
- styles?: PlotMacdSignalLineStylesOptions;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- export interface PlotMacdSignalLineStylesOptions {
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMapAnimationOptions {
- defer?: number;
- }
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMapbubbleAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMapbubbleDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMapbubbleDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMapbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMapbubbleDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highmaps) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotMapbubbleDragDropGuideBoxOptions {
- /**
- * (Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotMapbubbleJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highmaps) A map bubble series is a bubble series laid out on top of a map
- * series, where each bubble is tied to a specific map area.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMapbubbleOptions {
- /**
- * (Highmaps) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highmaps) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMapbubbleAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) If there are more points in the series than the
- * `animationLimit`, the animation won't run. Animation affects overall
- * performance and doesn't work well with heavy data series.
- */
- animationLimit?: number;
- /**
- * (Highmaps) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highmaps) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highmaps) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highmaps) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highmaps) The main color of the series. This color affects both the fill
- * and the stroke of the bubble. For enhanced control, use `marker` options.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highmaps) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highmaps) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highmaps) A reserved subspace to store options and values for customized
- * functionality. Here you can add additional data for your own event
- * callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highmaps) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMapbubbleDataLabelsOptions|Array<PlotMapbubbleDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMapbubbleDataSortingOptions);
- /**
- * (Highmaps) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highmaps) Whether to display negative sized bubbles. The threshold is
- * given by the zThreshold option, and negative bubbles can be visualized by
- * setting negativeColor.
- */
- displayNegative?: boolean;
- /**
- * (Highmaps) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highmaps) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highmaps) General event handlers for the series items. These event hooks
- * can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highmaps) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highmaps) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotMapbubbleJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highmaps) An array specifying which option maps to which key in the data
- * point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highmaps) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
- * size between the `minSize` and `maxSize` to reflect the `z` value of each
- * bubble. Can be either pixels (when no unit is given), or a percentage of
- * the smallest one of the plot width and height.
- */
- maxSize?: (number|string);
- /**
- * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
- * size between the `minSize` and `maxSize` to reflect the `z` value of each
- * bubble. Can be either pixels (when no unit is given), or a percentage of
- * the smallest one of the plot width and height.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) When a point's Z value is below the zThreshold setting, this
- * color is used.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highmaps) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highmaps) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highmaps) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highmaps) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highmaps) Whether the bubble's value should be represented by the area
- * or the width of the bubble. The default, `area`, corresponds best to the
- * human perception of the size of each bubble.
- */
- sizeBy?: BubbleSizeByValue;
- /**
- * (Highcharts) When this is true, the absolute value of z determines the
- * size of the bubble. This means that with the default `zThreshold` of 0, a
- * bubble of value -1 will have the same size as a bubble of value 1, while
- * a bubble of value 0 will have a smaller size according to `minSize`.
- */
- sizeByAbsoluteValue?: boolean;
- /**
- * (Highmaps) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) When this is true, the series will not cause the Y axis to
- * cross the zero plane (or threshold option) unless the data actually
- * crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highmaps) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
- * value in the data.
- */
- zMax?: number;
- /**
- * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
- * value in the data.
- */
- zMin?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- /**
- * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
- * are skipped. When `displayNegative` is `true` and a negativeColor is
- * given, points with lower Z is colored.
- */
- zThreshold?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMapDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMapDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMapDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highmaps) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotMapDragDropGuideBoxOptions {
- /**
- * (Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotMapJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMaplineAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMaplineDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMaplineDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMaplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMaplineDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highmaps) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotMaplineDragDropGuideBoxOptions {
- /**
- * (Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotMaplineJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highmaps) A mapline series is a special case of the map series where the
- * value colors are applied to the strokes rather than the fills. It can also be
- * used for freeform drawing, like dividers, in the map.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mapline` series are defined in plotOptions.mapline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMaplineOptions {
- /**
- * (Highmaps) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highmaps) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMaplineAnimationOptions);
- /**
- * (Highmaps) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highmaps) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: string;
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highmaps) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highmaps) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highmaps) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highmaps) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highmaps) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highmaps) A reserved subspace to store options and values for customized
- * functionality. Here you can add additional data for your own event
- * callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highmaps) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMaplineDataLabelsOptions|Array<PlotMaplineDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMaplineDataSortingOptions);
- /**
- * (Highmaps) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highmaps) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highmaps) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highmaps) General event handlers for the series items. These event hooks
- * can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highmaps) Fill color for the map line shapes
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highmaps) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotMaplineJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: string;
- /**
- * (Highmaps) An array specifying which option maps to which key in the data
- * point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the map line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highmaps) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The color to apply to null points.
- *
- * In styled mode, the null point fill is set in the
- * `.highcharts-null-point` class.
- */
- nullColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
- * events on null points.
- */
- nullInteraction?: boolean;
- /**
- * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highmaps) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highmaps) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highmaps) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highmaps) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highmaps) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highmaps) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highmaps) The map series is used for basic choropleth maps, where each map
- * area has a color based on its value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `map` series are defined in plotOptions.map.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMapOptions {
- /**
- * (Highmaps) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highmaps) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMapAnimationOptions);
- /**
- * (Highmaps) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highmaps) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: string;
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highmaps) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highmaps) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highmaps) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highmaps) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highmaps) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highmaps) A reserved subspace to store options and values for customized
- * functionality. Here you can add additional data for your own event
- * callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highmaps) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMapDataLabelsOptions|Array<PlotMapDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMapDataSortingOptions);
- /**
- * (Highmaps) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highmaps) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highmaps) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highmaps) General event handlers for the series items. These event hooks
- * can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highmaps) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highmaps) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotMapJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: string;
- /**
- * (Highmaps) An array specifying which option maps to which key in the data
- * point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highmaps) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The color to apply to null points.
- *
- * In styled mode, the null point fill is set in the
- * `.highcharts-null-point` class.
- */
- nullColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
- * events on null points.
- */
- nullInteraction?: boolean;
- /**
- * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highmaps) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highmaps) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highmaps) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highmaps) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highmaps) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highmaps) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMappointAnimationOptions {
- defer?: number;
- }
- export interface PlotMappointClusterEventsOptions {
- /**
- * (Highcharts, Highmaps) Fires when the cluster point is clicked and
- * `drillToCluster` is enabled. One parameter, `event`, is passed to the
- * function. The default action is to zoom to the cluster points range. This
- * can be prevented by calling `event.preventDefault()`.
- */
- drillToCluster?: MarkerClusterDrillCallbackFunction;
- }
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
- * to change the type of the algorithm, gridSize, distance or iterations.
- */
- export interface PlotMappointClusterLayoutAlgorithmOptions {
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
- * maximum distance between point and cluster center so that this point will
- * be inside the cluster. The distance is either a number defining pixels or
- * a percentage defining a percentage of the plot area width.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
- * size of a grid square element either as a number defining pixels, or a
- * percentage defining a percentage of the plot area width.
- */
- gridSize?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
- * the number of iterations that this algorithm will be repeated to find
- * clusters positions.
- */
- iterations?: number;
- /**
- * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
- * more visible points than the kmeansThreshold the `grid` algorithm is used
- * to find clusters, otherwise `kmeans`. It ensures good performance on
- * large datasets and better clusters arrangement after the zoom.
- */
- kmeansThreshold?: number;
- /**
- * (Highcharts, Highmaps) Type of the algorithm used to combine points into
- * a cluster. There are three available algorithms:
- *
- * 1) `grid` - grid-based clustering technique. Points are assigned to
- * squares of set size depending on their position on the plot area. Points
- * inside the grid square are combined into a cluster. The grid size can be
- * controlled by `gridSize` property (grid size changes at certain zoom
- * levels).
- *
- * 2) `kmeans` - based on K-Means clustering technique. In the first step,
- * points are divided using the grid method (distance property is a grid
- * size) to find the initial amount of clusters. Next, each point is
- * classified by computing the distance between each cluster center and that
- * point. When the closest cluster distance is lower than distance property
- * set by a user the point is added to this cluster otherwise is classified
- * as `noise`. The algorithm is repeated until each cluster center not
- * change its previous position more than one pixel. This technique is more
- * accurate but also more time consuming than the `grid` algorithm,
- * especially for big datasets.
- *
- * 3) `optimizedKmeans` - based on K-Means clustering technique. This
- * algorithm uses k-means algorithm only on the chart initialization or when
- * chart extremes have greater range than on initialization. When a chart is
- * redrawn the algorithm checks only clustered points distance from the
- * cluster center and rebuild it when the point is spaced enough to be
- * outside the cluster. It provides performance improvement and more stable
- * clusters position yet can be used rather on small and sparse datasets.
- *
- * By default, the algorithm depends on visible quantity of points and
- * `kmeansThreshold`. When there are more visible points than the
- * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
- *
- * The custom clustering algorithm can be added by assigning a callback
- * function as the type property. This function takes an array of
- * `processedXData`, `processedYData`, `processedXData` indexes and
- * `layoutAlgorithm` options as arguments and should return an object with
- * grouped data.
- *
- * The algorithm should return an object like that: (see online
- * documentation for example)
- *
- * `clusterId` (example above - unique id of a cluster or noise) is an array
- * of points belonging to a cluster. If the array has only one point or
- * fewer points than set in `cluster.minimumClusterSize` it won't be
- * combined into a cluster.
- */
- type?: (string|Function);
- }
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
- * the data values into larger blocks in order to ease readability and increase
- * performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online at
- * code.highcharts.com/modules/marker-clusters.js.
- */
- export interface PlotMappointClusterOptions {
- /**
- * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
- * this option works only when `layoutAlgorithm.type = "grid"`.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker animation.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highmaps) Options for the cluster data labels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
- * when a cluster is clicked.
- */
- drillToCluster?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
- */
- enabled?: boolean;
- events?: PlotMappointClusterEventsOptions;
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
- * options to change the type of the algorithm, gridSize, distance or
- * iterations.
- */
- layoutAlgorithm?: PlotMappointClusterLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The minimum amount of points to be combined into a
- * cluster. This value has to be greater or equal to 2.
- */
- minimumClusterSize?: number;
- states?: PlotMappointClusterStatesOptions;
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the
- * `className` option.
- */
- zones?: Array<PlotMappointClusterZonesOptions>;
- }
- export interface PlotMappointClusterStatesHoverOptions {
- /**
- * (Highcharts, Highmaps) The fill color of the cluster marker in hover
- * state. When `undefined`, the series' or point's fillColor for normal
- * state is used.
- */
- fillColor?: ColorType;
- }
- export interface PlotMappointClusterStatesOptions {
- hover?: PlotMappointClusterStatesHoverOptions;
- }
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
- * option.
- */
- export interface PlotMappointClusterZonesOptions {
- /**
- * (Highcharts, Highmaps) Styled mode only. A custom class name for the
- * zone.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) The value where the zone starts.
- */
- from?: number;
- /**
- * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
- * zone.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The value where the zone ends.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMappointDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMappointDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMappointDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMappointDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highmaps) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotMappointDragDropGuideBoxOptions {
- /**
- * (Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotMappointJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highmaps) A mappoint series is a special form of scatter series where the
- * points can be laid out in map coordinates on top of a map.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMappointOptions {
- /**
- * (Highmaps) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highmaps) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highmaps) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMappointAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highmaps) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highmaps) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highmaps) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of
- * sampling the data values into larger blocks in order to ease readability
- * and increase performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online
- * at code.highcharts.com/modules/marker-clusters.js.
- */
- cluster?: PlotMappointClusterOptions;
- /**
- * (Highmaps) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highmaps) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highmaps) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highmaps) A reserved subspace to store options and values for customized
- * functionality. Here you can add additional data for your own event
- * callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highmaps) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMappointDataLabelsOptions|Array<PlotMappointDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMappointDataSortingOptions);
- /**
- * (Highmaps) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highmaps) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highmaps) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highmaps) General event handlers for the series items. These event hooks
- * can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highmaps) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highmaps) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotMappointJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highmaps) An array specifying which option maps to which key in the data
- * point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highmaps) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highmaps) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highmaps) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highmaps) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highmaps) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highmaps) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highmaps) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highmaps) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highmaps) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMfiAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMfiDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMfiDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMfiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMfiDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Money Flow Index. This series requires `linkedTo` option to be
- * set and should be loaded after the `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mfi` series are defined in plotOptions.mfi.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMfiOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMfiAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMfiDataLabelsOptions|Array<PlotMfiDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMfiDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotMfiParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotMfiParamsOptions {
- /**
- * (Highstock) Number of maximum decimals that are used in MFI calculations.
- */
- decimals?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The id of volume series which is mandatory. For example using
- * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
- * using OHLC and volume values.
- */
- volumeSeriesID?: string;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotMomentumAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotMomentumDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotMomentumDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotMomentumDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotMomentumDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Momentum. This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `momentum` series are defined in plotOptions.momentum.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotMomentumOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotMomentumAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotMomentumDataLabelsOptions|Array<PlotMomentumDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotMomentumDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotMomentumParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotMomentumParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotNatrAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotNatrDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotNatrDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotNatrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotNatrDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Normalized average true range indicator (NATR). This series
- * requires `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `natr` series are defined in plotOptions.natr.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotNatrOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotNatrAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotNatrDataLabelsOptions|Array<PlotNatrDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotNatrDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotNatrParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotNatrParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotNetworkgraphDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
- * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
- * picks up and applies the maximum contrast to the underlying point item, for
- * example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the given
- * width with the given color, which by default is the maximum contrast to the
- * text. So a bright text color will result in a black text outline for maximum
- * readability on a mixed background. In some cases, especially with grayscale
- * text, the text outline doesn't work well, in which cases it can be disabled
- * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
- * be picked up. In this, case, the same effect can be acheived through the
- * `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example tree
- * maps, the data label may overflow the point. There are two strategies for
- * handling overflow. By default, the text will wrap to multiple lines. The
- * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
- * the text on one line plus it will break inside long words.
- */
- export interface PlotNetworkgraphDataLabelsStyleOptions {
- transition?: string;
- }
- export interface PlotNetworkgraphLayoutAlgorithmOptions {
- /**
- * (Highcharts) Approximation used to calculate repulsive forces affecting
- * nodes. By default, when calculateing net force, nodes are compared
- * against each other, which gives O(N^2) complexity. Using Barnes-Hut
- * approximation, we decrease this to O(N log N), but the resulting graph
- * will have different layout. Barnes-Hut approximation divides space into
- * rectangles via quad tree, where forces exerted on nodes are calculated
- * directly for nearby cells, and for all others, cells are treated as a
- * separate node with center of mass.
- */
- approximation?: OptionsApproximationValue;
- /**
- * (Highcharts) Attraction force applied on a node which is conected to
- * another node by a link. Passed are two arguments:
- *
- * - `d` - which is current distance between two nodes
- *
- * - `k` - which is desired distance between two nodes
- *
- * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
- * d; }`
- */
- attractiveForce?: Function;
- /**
- * (Highcharts) Experimental. Enables live simulation of the algorithm
- * implementation. All nodes are animated as the forces applies on them.
- */
- enableSimulation?: boolean;
- /**
- * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
- * to the desired positions.
- */
- friction?: number;
- /**
- * (Highcharts) Gravitational const used in the barycenter force of the
- * algorithm.
- */
- gravitationalConstant?: number;
- /**
- * (Highcharts) When `initialPositions` are set to 'circle',
- * `initialPositionRadius` is a distance from the center of circle, in which
- * nodes are created.
- */
- initialPositionRadius?: number;
- /**
- * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
- * of built-in options ("circle", "random") or a function where positions
- * should be set on each node (`this.nodes`) as `node.plotX` and
- * `node.plotY`
- */
- initialPositions?: ("circle"|"random"|Function);
- /**
- * (Highcharts) Integration type. Available options are `'euler'` and
- * `'verlet'`. Integration determines how forces are applied on particles.
- * In Euler integration, force is applied direct as `newPosition +=
- * velocity;`. In Verlet integration, new position is based on a previous
- * posittion without velocity: `newPosition += previousPosition -
- * newPosition`.
- *
- * Note that different integrations give different results as forces are
- * different.
- *
- * In Highcharts v7.0.x only `'euler'` integration was supported.
- */
- integration?: OptionsIntegrationValue;
- /**
- * (Highcharts) Ideal length (px) of the link between two nodes. When not
- * defined, length is calculated as: `Math.pow(availableWidth *
- * availableHeight / nodesLength, 0.4);`
- *
- * Note: Because of the algorithm specification, length of each link might
- * be not exactly as specified.
- */
- linkLength?: number;
- /**
- * (Highcharts) Max number of iterations before algorithm will stop. In
- * general, algorithm should find positions sooner, but when rendering huge
- * number of nodes, it is recommended to increase this value as finding
- * perfect graph positions can require more time.
- */
- maxIterations?: number;
- /**
- * (Highcharts) Verlet integration only. Max speed that node can get in one
- * iteration. In terms of simulation, it's a maximum translation (in pixels)
- * that node can move (in both, x and y, dimensions). While `friction` is
- * applied on all nodes, max speed is applied only for nodes that move very
- * fast, for example small or disconnected ones.
- */
- maxSpeed?: number;
- /**
- * (Highcharts) Repulsive force applied on a node. Passed are two arguments:
- *
- * - `d` - which is current distance between two nodes
- *
- * - `k` - which is desired distance between two nodes
- *
- * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
- * d * (k > d ? 1 : 0) }`
- */
- repulsiveForce?: Function;
- /**
- * (Highcharts) Barnes-Hut approximation only. Deteremines when distance
- * between cell and node is small enough to caculate forces. Value of
- * `theta` is compared directly with quotient `s / d`, where `s` is the size
- * of the cell, and `d` is distance between center of cell's mass and
- * currently compared node.
- */
- theta?: number;
- /**
- * (Highcharts) Type of the algorithm used when positioning nodes.
- */
- type?: "reingold-fruchterman";
- }
- /**
- * (Highcharts) Link style options
- */
- export interface PlotNetworkgraphLinkOptions {
- /**
- * (Highcharts) Color of the link between two nodes.
- */
- color?: string;
- /**
- * (Highcharts) A name for the dash style to use for links.
- */
- dashStyle?: string;
- /**
- * (Highcharts) Width (px) of the link between two nodes.
- */
- width?: number;
- }
- /**
- * (Highcharts) A networkgraph is a type of relationship chart, where
- * connnections (links) attracts nodes (points) and other nodes repulse each
- * other.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `networkgraph` series are defined in
- * plotOptions.networkgraph.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotNetworkgraphOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Flag to determine if nodes are draggable or not.
- */
- draggable?: boolean;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- layoutAlgorithm?: PlotNetworkgraphLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts) Link style options
- */
- link?: PlotNetworkgraphLinkOptions;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotOhlcAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotOhlcDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotOhlcDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotOhlcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotOhlcDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotOhlcDragDropGuideBoxOptions {
- /**
- * (Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highstock) An OHLC chart is a style of financial chart used to describe
- * price movements over time. It displays open, high, low and close values per
- * data point.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotOhlcOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotOhlcAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotOhlcDataLabelsOptions|Array<PlotOhlcDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotOhlcDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highstock) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highstock) The pixel width of the line/border. Defaults to `1`.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
- * should be represented as `point.y`, which is later used to set dataLabel
- * position and compare.
- */
- pointValKey?: OptionsPointValKeyValue;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Line color for up points.
- */
- upColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper object
- * for config objects for each series type. The config objects for each series
- * can also be overridden for each series item as given in the series array.
- *
- * Configuration options for the series are given in three levels. Options for
- * all series in a chart are given in the plotOptions.series object. Then
- * options for all series of a specific type are given in the plotOptions of
- * that type, for example `plotOptions.line`. Next, options for one single
- * series are given in the series array.
- */
- export interface PlotOptions {
- /**
- * (Highstock) Acceleration bands (ABANDS). This series requires the
- * `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `abands` series are defined in plotOptions.abands.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- abands?: PlotAbandsOptions;
- /**
- * (Highstock) Accumulation Distribution (AD). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `ad` series are defined in plotOptions.ad.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- ad?: PlotAdOptions;
- /**
- * (Highstock) Awesome Oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js`
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `ao` series are defined in plotOptions.ao.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- ao?: PlotAoOptions;
- /**
- * (Highstock) Absolute Price Oscillator. This series requires the
- * `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `apo` series are defined in plotOptions.apo.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- apo?: PlotApoOptions;
- /**
- * (Highcharts, Highstock) The area series type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `area` series are defined in plotOptions.area.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- area?: PlotAreaOptions;
- /**
- * (Highcharts, Highstock) The area range series is a carteseian series with
- * higher and lower values for each point along an X axis, where the area
- * between the values is shaded.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `arearange` series are defined in
- * plotOptions.arearange.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- arearange?: PlotArearangeOptions;
- /**
- * (Highcharts, Highstock) The area spline series is an area series where
- * the graph between the points is smoothed into a spline.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `areaspline` series are defined in
- * plotOptions.areaspline.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- areaspline?: PlotAreasplineOptions;
- /**
- * (Highcharts, Highstock) The area spline range is a cartesian series type
- * with higher and lower Y values along an X axis. The area inside the range
- * is colored, and the graph outlining the area is a smoothed spline.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `areasplinerange` series are defined in
- * plotOptions.areasplinerange.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- areasplinerange?: PlotAreasplinerangeOptions;
- /**
- * (Highstock) Aroon. This series requires the `linkedTo` option to be set
- * and should be loaded after the `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `aroon` series are defined in plotOptions.aroon.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- aroon?: PlotAroonOptions;
- /**
- * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option
- * to be set and should be loaded after the `stock/indicators/indicators.js`
- * and `stock/indicators/aroon.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `aroonoscillator` series are defined in
- * plotOptions.aroonoscillator.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- aroonoscillator?: PlotAroonoscillatorOptions;
- /**
- * (Highstock) Average true range indicator (ATR). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `atr` series are defined in plotOptions.atr.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- atr?: PlotAtrOptions;
- /**
- * (Highcharts) A bar series is a special type of column series where the
- * columns are horizontal.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `bar` series are defined in plotOptions.bar.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- bar?: PlotBarOptions;
- /**
- * (Highstock) Bollinger bands (BB). This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `bb` series are defined in plotOptions.bb.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- bb?: PlotBbOptions;
- /**
- * (Highcharts) A bell curve is an areaspline series which represents the
- * probability density function of the normal distribution. It calculates
- * mean and standard deviation of the base series data and plots the curve
- * according to the calculated parameters.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `bellcurve` series are defined in
- * plotOptions.bellcurve.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- bellcurve?: PlotBellcurveOptions;
- /**
- * (Highcharts) A box plot is a convenient way of depicting groups of data
- * through their five-number summaries: the smallest observation (sample
- * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and
- * largest observation (sample maximum).
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- boxplot?: PlotBoxplotOptions;
- /**
- * (Highcharts, Highstock) A bubble series is a three dimensional series
- * type where each point renders an X, Y and Z value. Each points is drawn
- * as a bubble where the position along the X and Y axes mark the X and Y
- * values, and the size of the bubble relates to the Z value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `bubble` series are defined in plotOptions.bubble.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- bubble?: PlotBubbleOptions;
- /**
- * (Highcharts) A bullet graph is a variation of a bar graph. The bullet
- * graph features a single measure, compares it to a target, and displays it
- * in the context of qualitative ranges of performance that could be set
- * using plotBands on yAxis.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `bullet` series are defined in plotOptions.bullet.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- bullet?: PlotBulletOptions;
- /**
- * (Highstock) A candlestick chart is a style of financial chart used to
- * describe price movements over time.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `candlestick` series are defined in
- * plotOptions.candlestick.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- candlestick?: PlotCandlestickOptions;
- /**
- * (Highstock) Commodity Channel Index (CCI). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `cci` series are defined in plotOptions.cci.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- cci?: PlotCciOptions;
- /**
- * (Highstock) Chaikin Oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- chaikin?: PlotChaikinOptions;
- /**
- * (Highstock) Chaikin Money Flow indicator (cmf).
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `cmf` series are defined in plotOptions.cmf.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- cmf?: PlotCmfOptions;
- /**
- * (Highcharts, Highstock) Column series display one column per value along
- * an X axis.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `column` series are defined in plotOptions.column.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- column?: PlotColumnOptions;
- /**
- * (Highcharts, Highstock) Column pyramid series display one pyramid per
- * value along an X axis. To display horizontal pyramids, set chart.inverted
- * to `true`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `columnpyramid` series are defined in
- * plotOptions.columnpyramid.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- columnpyramid?: PlotColumnpyramidOptions;
- /**
- * (Highcharts, Highstock) The column range is a cartesian series type with
- * higher and lower Y values along an X axis. To display horizontal bars,
- * set chart.inverted to `true`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `columnrange` series are defined in
- * plotOptions.columnrange.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- columnrange?: PlotColumnrangeOptions;
- /**
- * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
- * cylinder graph features cylindrical points.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- cylinder?: PlotCylinderOptions;
- /**
- * (Highstock) Double exponential moving average (DEMA) indicator. This
- * series requires `linkedTo` option to be set and should be loaded after
- * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `dema` series are defined in plotOptions.dema.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- dema?: PlotDemaOptions;
- /**
- * (Highcharts) A dependency wheel chart is a type of flow diagram, where
- * all nodes are laid out in a circle, and the flow between the are drawn as
- * link bands.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `dependencywheel` series are defined in
- * plotOptions.dependencywheel.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- dependencywheel?: PlotDependencywheelOptions;
- /**
- * (Highstock) Detrended Price Oscillator. This series requires the
- * `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `dpo` series are defined in plotOptions.dpo.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- dpo?: PlotDpoOptions;
- /**
- * (Highcharts, Highstock) The dumbbell series is a cartesian series with
- * higher and lower values for each point along an X axis, connected with a
- * line between the values. Requires `highcharts-more.js` and
- * `modules/dumbbell.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- dumbbell?: PlotDumbbellOptions;
- /**
- * (Highstock) Exponential moving average indicator (EMA). This series
- * requires the `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `ema` series are defined in plotOptions.ema.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- ema?: PlotEmaOptions;
- /**
- * (Highcharts, Highstock) Error bars are a graphical representation of the
- * variability of data and are used on graphs to indicate the error, or
- * uncertainty in a reported measurement.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- errorbar?: PlotErrorbarOptions;
- /**
- * (Highstock) Flags are used to mark events in stock charts. They can be
- * added on the timeline, or attached to a specific series.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `flags` series are defined in plotOptions.flags.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- flags?: PlotFlagsOptions;
- /**
- * (Highcharts) Funnel charts are a type of chart often used to visualize
- * stages in a sales project, where the top are the initial stages with the
- * most clients. It requires that the modules/funnel.js file is loaded.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `funnel` series are defined in plotOptions.funnel.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- funnel?: PlotFunnelOptions;
- /**
- * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel
- * charts are a type of chart often used to visualize stages in a sales
- * project, where the top are the initial stages with the most clients.
- *
- * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
- * module are loaded.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- funnel3d?: PlotFunnel3dOptions;
- /**
- * (Gantt) A `gantt` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `gantt` series are defined in plotOptions.gantt.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- gantt?: PlotGanttOptions;
- /**
- * (Highcharts) Gauges are circular plots displaying one or more values with
- * a dial pointing to values along the perimeter.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `gauge` series are defined in plotOptions.gauge.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- gauge?: PlotGaugeOptions;
- /**
- * (Highcharts, Highmaps) A heatmap is a graphical representation of data
- * where the individual values contained in a matrix are represented as
- * colors.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- heatmap?: PlotHeatmapOptions;
- /**
- * (Highcharts) A histogram is a column series which represents the
- * distribution of the data set in the base series. Histogram splits data
- * into bins and shows their frequencies.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `histogram` series are defined in
- * plotOptions.histogram.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- histogram?: PlotHistogramOptions;
- /**
- * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo`
- * option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `ikh` series are defined in plotOptions.ikh.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- ikh?: PlotIkhOptions;
- /**
- * (Highcharts) An item chart is an infographic chart where a number of
- * items are laid out in either a rectangular or circular pattern. It can be
- * used to visualize counts within a group, or for the circular pattern,
- * typically a parliament.
- *
- * The circular layout has much in common with a pie chart. Many of the item
- * series options, like `center`, `size` and data label positioning, are
- * inherited from the pie series and don't apply for rectangular layouts.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `item` series are defined in plotOptions.item.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- item?: PlotItemOptions;
- /**
- * (Highstock) Keltner Channels. This series requires the `linkedTo` option
- * to be set and should be loaded after the
- * `stock/indicators/indicators.js`, `stock/indicators/atr.js`, and
- * `stock/ema/.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `keltnerchannels` series are defined in
- * plotOptions.keltnerchannels.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- keltnerchannels?: PlotKeltnerchannelsOptions;
- /**
- * (Highcharts, Highstock) A line series displays information as a series of
- * data points connected by straight line segments.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `line` series are defined in plotOptions.line.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- line?: PlotLineOptions;
- /**
- * (Highstock) Linear regression indicator. This series requires `linkedTo`
- * option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `linearregression` series are defined in
- * plotOptions.linearregression.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- linearregression?: PlotLinearregressionOptions;
- /**
- * (Highstock) Linear regression angle indicator. This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `linearregressionangle` series are defined in
- * plotOptions.linearregressionangle.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- linearregressionangle?: PlotLinearregressionangleOptions;
- /**
- * (Highstock) Linear regression intercept indicator. This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `linearregressionintercept` series are defined in
- * plotOptions.linearregressionintercept.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- linearregressionintercept?: PlotLinearregressioninterceptOptions;
- /**
- * (Highstock) Linear regression slope indicator. This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `linearregressionslope` series are defined in
- * plotOptions.linearregressionslope.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- linearregressionslope?: PlotLinearregressionslopeOptions;
- /**
- * (Highcharts, Highstock) The lollipop series is a carteseian series with a
- * line anchored from the x axis and a dot at the end to mark the value.
- * Requires `highcharts-more.js`, `modules/dumbbell.js` and
- * `modules/lollipop.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- lollipop?: PlotLollipopOptions;
- /**
- * (Highstock) Moving Average Convergence Divergence (MACD). This series
- * requires `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `macd` series are defined in plotOptions.macd.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- macd?: PlotMacdOptions;
- /**
- * (Highmaps) The map series is used for basic choropleth maps, where each
- * map area has a color based on its value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `map` series are defined in plotOptions.map.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- map?: PlotMapOptions;
- /**
- * (Highmaps) A map bubble series is a bubble series laid out on top of a
- * map series, where each bubble is tied to a specific map area.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `mapbubble` series are defined in
- * plotOptions.mapbubble.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- mapbubble?: PlotMapbubbleOptions;
- /**
- * (Highmaps) A mapline series is a special case of the map series where the
- * value colors are applied to the strokes rather than the fills. It can
- * also be used for freeform drawing, like dividers, in the map.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `mapline` series are defined in plotOptions.mapline.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- mapline?: PlotMaplineOptions;
- /**
- * (Highmaps) A mappoint series is a special form of scatter series where
- * the points can be laid out in map coordinates on top of a map.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- mappoint?: PlotMappointOptions;
- /**
- * (Highstock) Money Flow Index. This series requires `linkedTo` option to
- * be set and should be loaded after the `stock/indicators/indicators.js`
- * file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `mfi` series are defined in plotOptions.mfi.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- mfi?: PlotMfiOptions;
- /**
- * (Highstock) Momentum. This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `momentum` series are defined in plotOptions.momentum.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- momentum?: PlotMomentumOptions;
- /**
- * (Highstock) Normalized average true range indicator (NATR). This series
- * requires `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `natr` series are defined in plotOptions.natr.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- natr?: PlotNatrOptions;
- /**
- * (Highcharts) A networkgraph is a type of relationship chart, where
- * connnections (links) attracts nodes (points) and other nodes repulse each
- * other.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `networkgraph` series are defined in
- * plotOptions.networkgraph.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- networkgraph?: PlotNetworkgraphOptions;
- /**
- * (Highstock) An OHLC chart is a style of financial chart used to describe
- * price movements over time. It displays open, high, low and close values
- * per data point.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- ohlc?: PlotOhlcOptions;
- /**
- * (Highcharts) An organization chart is a diagram that shows the structure
- * of an organization and the relationships and relative ranks of its parts
- * and positions.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `organization` series are defined in
- * plotOptions.organization.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- organization?: PlotOrganizationOptions;
- /**
- * (Highcharts) A packed bubble series is a two dimensional series type,
- * where each point renders a value in X, Y position. Each point is drawn as
- * a bubble where the bubbles don't overlap with each other and the radius
- * of the bubble relates to the value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `packedbubble` series are defined in
- * plotOptions.packedbubble.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- packedbubble?: PlotPackedbubbleOptions;
- /**
- * (Highcharts) A pareto diagram is a type of chart that contains both bars
- * and a line graph, where individual values are represented in descending
- * order by bars, and the cumulative total is represented by the line.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `pareto` series are defined in plotOptions.pareto.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- pareto?: PlotParetoOptions;
- /**
- * (Highstock) Price channel (PC). This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `pc` series are defined in plotOptions.pc.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- pc?: PlotPcOptions;
- /**
- * (Highcharts) A pie chart is a circular graphic which is divided into
- * slices to illustrate numerical proportion.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `pie` series are defined in plotOptions.pie.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- pie?: PlotPieOptions;
- /**
- * (Highstock) Pivot points indicator. This series requires the `linkedTo`
- * option to be set and should be loaded after
- * `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `pivotpoints` series are defined in
- * plotOptions.pivotpoints.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- pivotpoints?: PlotPivotpointsOptions;
- /**
- * (Highcharts, Highstock) A polygon series can be used to draw any freeform
- * shape in the cartesian coordinate system. A fill is applied with the
- * `color` option, and stroke is applied through `lineWidth` and `lineColor`
- * options.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `polygon` series are defined in plotOptions.polygon.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- polygon?: PlotPolygonOptions;
- /**
- * (Highstock) Percentage Price Oscillator. This series requires the
- * `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `ppo` series are defined in plotOptions.ppo.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- ppo?: PlotPpoOptions;
- /**
- * (Highstock) Price envelopes indicator based on SMA calculations. This
- * series requires the `linkedTo` option to be set and should be loaded
- * after the `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `priceenvelopes` series are defined in
- * plotOptions.priceenvelopes.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- priceenvelopes?: PlotPriceenvelopesOptions;
- /**
- * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be
- * set and should be loaded after `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `psar` series are defined in plotOptions.psar.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- psar?: PlotPsarOptions;
- /**
- * (Highcharts) A pyramid series is a special type of funnel, without neck
- * and reversed by default.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- pyramid?: PlotPyramidOptions;
- /**
- * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
- * charts are a type of chart often used to visualize stages in a sales
- * project, where the top are the initial stages with the most clients.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `pyramid3d` series are defined in
- * plotOptions.pyramid3d.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- pyramid3d?: PlotPyramid3dOptions;
- /**
- * (Highstock) Rate of change indicator (ROC). The indicator value for each
- * point is defined as:
- *
- * `(C - Cn) / Cn * 100`
- *
- * where: `C` is the close value of the point of the same x in the linked
- * series and `Cn` is the close value of the point `n` periods ago. `n` is
- * set through period.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `roc` series are defined in plotOptions.roc.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- roc?: PlotRocOptions;
- /**
- * (Highstock) Relative strength index (RSI) technical indicator. This
- * series requires the `linkedTo` option to be set and should be loaded
- * after the `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `rsi` series are defined in plotOptions.rsi.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- rsi?: PlotRsiOptions;
- /**
- * (Highcharts) A sankey diagram is a type of flow diagram, in which the
- * width of the link between two nodes is shown proportionally to the flow
- * quantity.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `sankey` series are defined in plotOptions.sankey.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- sankey?: PlotSankeyOptions;
- /**
- * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to
- * display values for two variables for a set of data.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `scatter` series are defined in plotOptions.scatter.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- scatter?: PlotScatterOptions;
- /**
- * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display
- * values for three variables for a set of data.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `scatter3d` series are defined in
- * plotOptions.scatter3d.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- scatter3d?: PlotScatter3dOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
- * types.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `line` series are defined in plotOptions.line.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- series?: PlotSeriesOptions;
- /**
- * (Highstock) Slow Stochastic oscillator. This series requires the
- * `linkedTo` option to be set and should be loaded after
- * `stock/indicators/indicators.js` and `stock/indicators/stochastic.js`
- * files.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `slowstochastic` series are defined in
- * plotOptions.slowstochastic.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- slowstochastic?: PlotSlowstochasticOptions;
- /**
- * (Highstock) Simple moving average indicator (SMA). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `sma` series are defined in plotOptions.sma.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- sma?: PlotSmaOptions;
- /**
- * (Highcharts) A solid gauge is a circular gauge where the value is
- * indicated by a filled arc, and the color of the arc may variate with the
- * value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `solidgauge` series are defined in
- * plotOptions.solidgauge.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- solidgauge?: PlotSolidgaugeOptions;
- /**
- * (Highcharts, Highstock) A spline series is a special type of line series,
- * where the segments between the data points are smoothed.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `spline` series are defined in plotOptions.spline.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- spline?: PlotSplineOptions;
- /**
- * (Highstock) Stochastic oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `stochastic` series are defined in
- * plotOptions.stochastic.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- stochastic?: PlotStochasticOptions;
- /**
- * (Highcharts, Highstock) A streamgraph is a type of stacked area graph
- * which is displaced around a central axis, resulting in a flowing, organic
- * shape.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `streamgraph` series are defined in
- * plotOptions.streamgraph.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- streamgraph?: PlotStreamgraphOptions;
- /**
- * (Highcharts) A Sunburst displays hierarchical data, where a level in the
- * hierarchy is represented by a circle. The center represents the root node
- * of the tree. The visualization bears a resemblance to both treemap and
- * pie charts.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- sunburst?: PlotSunburstOptions;
- /**
- * (Highstock) Supertrend indicator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/sma.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `supertrend` series are defined in
- * plotOptions.supertrend.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- supertrend?: PlotSupertrendOptions;
- /**
- * (Highstock) Triple exponential moving average (TEMA) indicator. This
- * series requires `linkedTo` option to be set and should be loaded after
- * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `tema` series are defined in plotOptions.tema.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- tema?: PlotTemaOptions;
- /**
- * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the
- * tile shapes are configurable.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- tilemap?: PlotTilemapOptions;
- /**
- * (Highcharts) The timeline series presents given events along a drawn
- * line.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `timeline` series are defined in plotOptions.timeline.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- timeline?: PlotTimelineOptions;
- /**
- * (Highcharts) A treemap displays hierarchical data using nested
- * rectangles. The data can be laid out in varying ways depending on
- * options.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `treemap` series are defined in plotOptions.treemap.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- treemap?: PlotTreemapOptions;
- /**
- * (Highstock) Trendline (linear regression) fits a straight line to the
- * selected data using a method called the Sum Of Least Squares. This series
- * requires the `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `trendline` series are defined in
- * plotOptions.trendline.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- trendline?: PlotTrendlineOptions;
- /**
- * (Highstock) Triple exponential average (TRIX) oscillator. This series
- * requires `linkedTo` option to be set.
- *
- * Requires https://code.highcharts.com/stock/indicators/ema.js and
- * https://code.highcharts.com/stock/indicators/tema.js.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `trix` series are defined in plotOptions.trix.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- trix?: PlotTrixOptions;
- /**
- * (Highcharts) A variable pie series is a two dimensional series type,
- * where each point renders an Y and Z value. Each point is drawn as a pie
- * slice where the size (arc) of the slice relates to the Y value and the
- * radius of pie slice relates to the Z value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `variablepie` series are defined in
- * plotOptions.variablepie.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- variablepie?: PlotVariablepieOptions;
- /**
- * (Highcharts) A variwide chart (related to marimekko chart) is a column
- * chart with a variable width expressing a third dimension.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `variwide` series are defined in plotOptions.variwide.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- variwide?: PlotVariwideOptions;
- /**
- * (Highstock) Volume By Price indicator.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `vbp` series are defined in plotOptions.vbp.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- vbp?: PlotVbpOptions;
- /**
- * (Highcharts, Highstock) A vector plot is a type of cartesian chart where
- * each point has an X and Y position, a length and a direction. Vectors are
- * drawn as arrows.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `vector` series are defined in plotOptions.vector.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- vector?: PlotVectorOptions;
- /**
- * (Highcharts) A Venn diagram displays all possible logical relations
- * between a collection of different sets. The sets are represented by
- * circles, and the relation between the sets are displayed by the overlap
- * or lack of overlap between them. The venn diagram is a special case of
- * Euler diagrams, which can also be displayed by this series type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `venn` series are defined in plotOptions.venn.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- venn?: PlotVennOptions;
- /**
- * (Highstock) Volume Weighted Average Price indicator.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `vwap` series are defined in plotOptions.vwap.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- vwap?: PlotVwapOptions;
- /**
- * (Highcharts) A waterfall chart displays sequentially introduced positive
- * or negative values in cumulative columns.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `waterfall` series are defined in
- * plotOptions.waterfall.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- waterfall?: PlotWaterfallOptions;
- /**
- * (Highstock) Williams %R. This series requires the `linkedTo` option to be
- * set and should be loaded after the `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `williamsr` series are defined in
- * plotOptions.williamsr.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- williamsr?: PlotWilliamsrOptions;
- /**
- * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
- * speed and direction in one graphical form. Wind direction is given by the
- * stem direction, and wind speed by the number and shape of barbs.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- windbarb?: PlotWindbarbOptions;
- /**
- * (Highstock) Weighted moving average indicator (WMA). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `wma` series are defined in plotOptions.wma.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- wma?: PlotWmaOptions;
- /**
- * (Highcharts) A word cloud is a visualization of a set of words, where the
- * size and placement of a word is determined by how it is weighted.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `wordcloud` series are defined in
- * plotOptions.wordcloud.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- wordcloud?: PlotWordcloudOptions;
- /**
- * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the
- * X axis, typically time intervals with a start and end date.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `xrange` series are defined in plotOptions.xrange.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- xrange?: PlotXrangeOptions;
- /**
- * (Highstock) Zig Zag indicator.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the
- * plotOptions.series object.
- *
- * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
- *
- * 3. Options for one single series are given in the series instance array.
- * (see online documentation for example)
- */
- zigzag?: PlotZigzagOptions;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotOrganizationAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotOrganizationDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotOrganizationLevelsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not node and link options.
- */
- export interface PlotOrganizationLevelsOptions {
- /**
- * (Highcharts) Can set `borderColor` on all nodes which lay on the same
- * level.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
- * level.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Can set `color` on all nodes which lay on the same level.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
- * level.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
- * points which lay on the same level.
- */
- dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) Decides which level takes effect from the options set in the
- * levels object.
- */
- level?: number;
- /**
- * (Highcharts) Can set `linkOpacity` on all points which lay on the same
- * level.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) Can set `states` on all nodes and points which lay on the
- * same level.
- */
- states?: SeriesStatesOptionsObject;
- }
- /**
- * (Highcharts) An organization chart is a diagram that shows the structure of
- * an organization and the relationships and relative ranks of its parts and
- * positions.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `organization` series are defined in
- * plotOptions.organization.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotOrganizationOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotOrganizationAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) The border color of the node cards.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) The border radius of the node cards.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
- * appearing on top of the nodes and links. For sankey charts, data labels
- * are visible for the nodes by default, but hidden for links. This is
- * controlled by modifying the `nodeFormat`, and the `format` that applies
- * to links and is an empty string by default.
- */
- dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) The indentation in pixels of hanging nodes, nodes which
- * parent has layout set to `hanging`.
- */
- hangingIndent?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not node and link options.
- */
- levels?: Array<PlotOrganizationLevelsOptions>;
- /**
- * (Highcharts) The color of the links between nodes.
- */
- linkColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) The line width of the links connecting nodes, in pixels.
- */
- linkLineWidth?: number;
- /**
- * (Highcharts) Opacity for the links between nodes in the sankey diagram.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) Radius for the rounded corners of the links between nodes.
- */
- linkRadius?: number;
- /**
- * (Highcharts) The minimal width for a line of a sankey. By default, 0
- * values are not shown.
- */
- minLinkWidth?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The padding between nodes in a sankey diagram or dependency
- * wheel, in pixels.
- *
- * If the number of nodes is so great that it is possible to lay them out
- * within the plot area with the given `nodePadding`, they will be rendered
- * with a smaller padding as a strategy to avoid overflow.
- */
- nodePadding?: number;
- /**
- * (Highcharts) In a horizontal chart, the width of the nodes in pixels.
- * Node that most organization charts are vertical, so the name of this
- * option is counterintuitive.
- */
- nodeWidth?: number;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPackedbubbleAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPackedbubbleDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
- * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
- * picks up and applies the maximum contrast to the underlying point item, for
- * example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the given
- * width with the given color, which by default is the maximum contrast to the
- * text. So a bright text color will result in a black text outline for maximum
- * readability on a mixed background. In some cases, especially with grayscale
- * text, the text outline doesn't work well, in which cases it can be disabled
- * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
- * be picked up. In this, case, the same effect can be acheived through the
- * `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example tree
- * maps, the data label may overflow the point. There are two strategies for
- * handling overflow. By default, the text will wrap to multiple lines. The
- * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
- * the text on one line plus it will break inside long words.
- */
- export interface PlotPackedbubbleDataLabelsStyleOptions {
- transition?: string;
- }
- /**
- * (Highcharts) Options for layout algorithm when simulation is enabled. Inside
- * there are options to change the speed, padding, initial bubbles positions and
- * more.
- */
- export interface PlotPackedbubbleLayoutAlgorithmOptions {
- /**
- * (Highcharts) The distance between two bubbles, when the algorithm starts
- * to treat two bubbles as overlapping. The `bubblePadding` is also the
- * expected distance between all the bubbles on simulation end.
- */
- bubblePadding?: number;
- /**
- * (Highcharts) In case of split series, this option allows user to drag and
- * drop points between series, for changing point related series.
- */
- dragBetweenSeries?: boolean;
- /**
- * (Highcharts) Experimental. Enables live simulation of the algorithm
- * implementation. All nodes are animated as the forces applies on them.
- */
- enableSimulation?: boolean;
- /**
- * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
- * to the desired positions.
- */
- friction?: number;
- /**
- * (Highcharts) Gravitational const used in the barycenter force of the
- * algorithm.
- */
- gravitationalConstant?: number;
- /**
- * (Highcharts) When `initialPositions` are set to 'circle',
- * `initialPositionRadius` is a distance from the center of circle, in which
- * nodes are created.
- */
- initialPositionRadius?: number;
- /**
- * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
- * of the built-in options ("circle", "random") or a function where
- * positions should be set on each node (`this.nodes`) as `node.plotX` and
- * `node.plotY`.
- */
- initialPositions?: ("circle"|"random"|Function);
- /**
- * (Highcharts) Integration type. Available options are `'euler'` and
- * `'verlet'`. Integration determines how forces are applied on particles.
- * In Euler integration, force is applied direct as `newPosition +=
- * velocity;`. In Verlet integration, new position is based on a previous
- * posittion without velocity: `newPosition += previousPosition -
- * newPosition`.
- *
- * Note that different integrations give different results as forces are
- * different.
- *
- * In Highcharts v7.0.x only `'euler'` integration was supported.
- */
- integration?: OptionsIntegrationValue;
- /**
- * (Highcharts) Ideal length (px) of the link between two nodes. When not
- * defined, length is calculated as: `Math.pow(availableWidth *
- * availableHeight / nodesLength, 0.4);`
- *
- * Note: Because of the algorithm specification, length of each link might
- * be not exactly as specified.
- */
- linkLength?: number;
- /**
- * (Highcharts) Max number of iterations before algorithm will stop. In
- * general, algorithm should find positions sooner, but when rendering huge
- * number of nodes, it is recommended to increase this value as finding
- * perfect graph positions can require more time.
- */
- maxIterations?: number;
- /**
- * (Highcharts) Max speed that node can get in one iteration. In terms of
- * simulation, it's a maximum translation (in pixels) that a node can move
- * (in both, x and y, dimensions). While `friction` is applied on all nodes,
- * max speed is applied only for nodes that move very fast, for example
- * small or disconnected ones.
- */
- maxSpeed?: number;
- /**
- * (Highcharts) Whether bubbles should interact with their parentNode to
- * keep them inside.
- */
- parentNodeLimit?: boolean;
- /**
- * (Highcharts) Layout algorithm options for parent nodes.
- */
- parentNodeOptions?: PlotPackedbubbleLayoutAlgorithmParentNodeOptions;
- /**
- * (Highcharts) Whether series should interact with each other or not. When
- * `parentNodeLimit` is set to true, thi option should be set to false to
- * avoid sticking points in wrong series parentNode.
- */
- seriesInteraction?: boolean;
- /**
- * (Highcharts) Whether to split series into individual groups or to mix all
- * series together.
- */
- splitSeries?: string;
- /**
- * (Highcharts) Type of the algorithm used when positioning nodes.
- */
- type?: "reingold-fruchterman";
- }
- /**
- * (Highcharts) Layout algorithm options for parent nodes.
- */
- export interface PlotPackedbubbleLayoutAlgorithmParentNodeOptions {
- /**
- * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
- * to the desired positions.
- */
- friction?: number;
- /**
- * (Highcharts) Gravitational const used in the barycenter force of the
- * algorithm.
- */
- gravitationalConstant?: number;
- /**
- * (Highcharts) When `initialPositions` are set to 'circle',
- * `initialPositionRadius` is a distance from the center of circle, in which
- * nodes are created.
- */
- initialPositionRadius?: number;
- /**
- * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
- * of built-in options ("circle", "random") or a function where positions
- * should be set on each node (`this.nodes`) as `node.plotX` and
- * `node.plotY`
- */
- initialPositions?: ("circle"|"random"|Function);
- /**
- * (Highcharts) Integration type. Available options are `'euler'` and
- * `'verlet'`. Integration determines how forces are applied on particles.
- * In Euler integration, force is applied direct as `newPosition +=
- * velocity;`. In Verlet integration, new position is based on a previous
- * posittion without velocity: `newPosition += previousPosition -
- * newPosition`.
- *
- * Note that different integrations give different results as forces are
- * different.
- *
- * In Highcharts v7.0.x only `'euler'` integration was supported.
- */
- integration?: OptionsIntegrationValue;
- /**
- * (Highcharts) Ideal length (px) of the link between two nodes. When not
- * defined, length is calculated as: `Math.pow(availableWidth *
- * availableHeight / nodesLength, 0.4);`
- *
- * Note: Because of the algorithm specification, length of each link might
- * be not exactly as specified.
- */
- linkLength?: number;
- /**
- * (Highcharts) Styling options for parentNodes markers. Similar to
- * line.marker options.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts) Max number of iterations before algorithm will stop. In
- * general, algorithm should find positions sooner, but when rendering huge
- * number of nodes, it is recommended to increase this value as finding
- * perfect graph positions can require more time.
- */
- maxIterations?: number;
- /**
- * (Highcharts) Verlet integration only. Max speed that node can get in one
- * iteration. In terms of simulation, it's a maximum translation (in pixels)
- * that node can move (in both, x and y, dimensions). While `friction` is
- * applied on all nodes, max speed is applied only for nodes that move very
- * fast, for example small or disconnected ones.
- */
- maxSpeed?: number;
- seriesInteraction?: boolean;
- /**
- * (Highcharts) Type of the algorithm used when positioning nodes.
- */
- type?: "reingold-fruchterman";
- }
- /**
- * (Highcharts) A packed bubble series is a two dimensional series type, where
- * each point renders a value in X, Y position. Each point is drawn as a bubble
- * where the bubbles don't overlap with each other and the radius of the bubble
- * relates to the value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `packedbubble` series are defined in
- * plotOptions.packedbubble.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPackedbubbleOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPackedbubbleAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) If there are more points in the series than the
- * `animationLimit`, the animation won't run. Animation affects overall
- * performance and doesn't work well with heavy data series.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesPackedBubbleDataLabelsOptionsObject|Array<SeriesPackedBubbleDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Whether to display negative sized bubbles. The threshold is
- * given by the zThreshold option, and negative bubbles can be visualized by
- * setting negativeColor.
- */
- displayNegative?: boolean;
- /**
- * (Highcharts) Flag to determine if nodes are draggable or not. Available
- * for graph with useSimulation set to true only.
- */
- draggable?: boolean;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) Options for layout algorithm when simulation is enabled.
- * Inside there are options to change the speed, padding, initial bubbles
- * positions and more.
- */
- layoutAlgorithm?: PlotPackedbubbleLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
- * size between the `minSize` and `maxSize` to reflect the value of each
- * bubble. Can be either pixels (when no unit is given), or a percentage of
- * the smallest one of the plot width and height, divided by the square root
- * of total number of points.
- */
- maxSize?: (number|string);
- /**
- * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
- * size between the `minSize` and `maxSize` to reflect the value of each
- * bubble. Can be either pixels (when no unit is given), or a percentage of
- * the smallest one of the plot width and height, divided by the square root
- * of total number of points.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) When a point's Z value is below the zThreshold setting, this
- * color is used.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Series options for parent nodes.
- */
- parentNode?: PlotPackedbubbleParentNodeOptions;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) Whether the bubble's value should be represented by the area
- * or the width of the bubble. The default, `area`, corresponds best to the
- * human perception of the size of each bubble.
- */
- sizeBy?: string;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) When this is true, the series will not cause the Y axis to
- * cross the zero plane (or threshold option) unless the data actually
- * crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) An option is giving a possibility to choose between using
- * simulation for calculating bubble positions. These reflects in both
- * animation and final position of bubbles. Simulation is also adding
- * options to the series graph based on used layout. In case of big data
- * sets, with any performance issues, it is possible to disable animation
- * and pack bubble in a simple circular way.
- */
- useSimulation?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- /**
- * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
- * are skipped. When `displayNegative` is `true` and a negativeColor is
- * given, points with lower Z is colored.
- */
- zThreshold?: number;
- }
- /**
- * (Highcharts) Series options for parent nodes.
- */
- export interface PlotPackedbubbleParentNodeOptions {
- /**
- * (Highcharts) Allow this series' parent nodes to be selected by clicking
- * on the graph.
- */
- allowPointSelect?: boolean;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotParetoAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotParetoDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotParetoDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotParetoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotParetoDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) A pareto diagram is a type of chart that contains both bars and
- * a line graph, where individual values are represented in descending order by
- * bars, and the cumulative total is represented by the line.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pareto` series are defined in plotOptions.pareto.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotParetoOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotParetoAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotParetoDataLabelsOptions|Array<PlotParetoDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotParetoDataSortingOptions);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Higher zIndex than column series to draw line above shapes.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPcAnimationOptions {
- defer?: number;
- }
- export interface PlotPcBottomLineOptions {
- styles?: PlotPcBottomLineStylesOptions;
- }
- export interface PlotPcBottomLineStylesOptions {
- /**
- * (Highstock) Color of the bottom line. If not set, it's inherited from
- * plotOptions.pc.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPcDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPcDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotPcDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Price channel (PC). This series requires the `linkedTo` option to
- * be set and should be loaded after the `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pc` series are defined in plotOptions.pc.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPcOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPcAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- bottomLine?: PlotPcBottomLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPcDataLabelsOptions|Array<PlotPcDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotPcDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotPcParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- topLine?: PlotPcTopLineOptions;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotPcParamsOptions {
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- export interface PlotPcTopLineOptions {
- styles?: PlotPcTopLineStylesOptions;
- }
- export interface PlotPcTopLineStylesOptions {
- /**
- * (Highstock) Color of the top line. If not set, it's inherited from
- * plotOptions.pc.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPieAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPieDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) A pie chart is a circular graphic which is divided into slices
- * to illustrate numerical proportion.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pie` series are defined in plotOptions.pie.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPieOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPieAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The color of the border surrounding each slice. When `null`,
- * the border takes the same color as the slice fill. This can be used
- * together with a `borderWidth` to fill drawing gaps created by
- * antialiazing artefacts in borderless pies.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the border surrounding each slice.
- *
- * When setting the border width to 0, there may be small gaps between the
- * slices due to SVG antialiasing artefacts. To work around this, keep the
- * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The center of the pie chart relative to the plot area. Can
- * be percentages or pixel values. The default behaviour (as of 3.0) is to
- * center the pie so that all slices and data labels are within the plot
- * area. As a consequence, the pie may actually jump around in a chart with
- * dynamic values, as the data labels move. In that case, the center should
- * be explicitly set, for example to `["50%", "50%"]`.
- */
- center?: [(number|string|null), (number|string|null)];
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The color of the pie series. A pie series is represented as
- * an empty circle if the total sum of its values is 0. Use this property to
- * define the color of its border.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts) A series specific or series type specific color set to use
- * instead of the global colors.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
- /**
- * (Highcharts) The thickness of a 3D pie.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
- * right. Defaults to `startAngle` plus 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) The size of the inner diameter for the pie. A size greater
- * than 0 renders a donut chart. Can be a percentage or pixel value.
- * Percentages are relative to the pie size. Pixel values are given as
- * integers.
- *
- * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
- * area, not the pie size.
- */
- innerSize?: (number|string);
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Since 2.1, pies are not shown in the legend by default.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) The diameter of the pie relative to the plot area. Can be a
- * percentage or pixel value. Pixel values are given as integers. The
- * default behaviour (as of 3.0) is to scale to the plot area and give room
- * for data labels within the plot area. slicedOffset is also included in
- * the default size calculation. As a consequence, the size of the pie may
- * vary when points are updated and data labels more around. In that case it
- * is best to set a fixed value, for example `"75%"`.
- */
- size?: (number|string|null);
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip. When `stickyTracking` is
- * false and `tooltip.shared` is false, the tooltip will be hidden when
- * moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPivotpointsAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPivotpointsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPivotpointsDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPivotpointsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotPivotpointsDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Pivot points indicator. This series requires the `linkedTo`
- * option to be set and should be loaded after `stock/indicators/indicators.js`
- * file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pivotpoints` series are defined in
- * plotOptions.pivotpoints.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPivotpointsOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPivotpointsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPivotpointsDataLabelsOptions|Array<PlotPivotpointsDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotPivotpointsDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotPivotpointsParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotPivotpointsParamsOptions {
- /**
- * (Highstock) Algorithm used to calculate ressistance and support lines
- * based on pivot points. Implemented algorithms: `'standard'`,
- * `'fibonacci'` and `'camarilla'`
- */
- algorithm?: string;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPolygonAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPolygonDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPolygonDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPolygonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotPolygonDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotPolygonDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A polygon series can be used to draw any freeform
- * shape in the cartesian coordinate system. A fill is applied with the `color`
- * option, and stroke is applied through `lineWidth` and `lineColor` options.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `polygon` series are defined in plotOptions.polygon.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPolygonOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPolygonAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPolygonDataLabelsOptions|Array<PlotPolygonDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotPolygonDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPpoAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPpoDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPpoDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotPpoDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Percentage Price Oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ppo` series are defined in plotOptions.ppo.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPpoOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPpoAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPpoDataLabelsOptions|Array<PlotPpoDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotPpoDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of Percentage Price Oscillator
- * series points.
- */
- params?: PlotPpoParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of Percentage Price Oscillator
- * series points.
- */
- export interface PlotPpoParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- *
- * By default index value used to be set to 0. Since Highstock 7 by default
- * index is set to 3 which means that the ema indicator will be calculated
- * using Close values.
- */
- index?: number;
- /**
- * (Highstock) Periods for Percentage Price Oscillator calculations.
- */
- periods?: Array<number>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPriceenvelopesAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) Bottom line options.
- */
- export interface PlotPriceenvelopesBottomLineOptions {
- styles?: PlotPriceenvelopesBottomLineStylesOptions;
- }
- export interface PlotPriceenvelopesBottomLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.priceenvelopes.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPriceenvelopesDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPriceenvelopesDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPriceenvelopesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotPriceenvelopesDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Price envelopes indicator based on SMA calculations. This series
- * requires the `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `priceenvelopes` series are defined in
- * plotOptions.priceenvelopes.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPriceenvelopesOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPriceenvelopesAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) Bottom line options.
- */
- bottomLine?: PlotPriceenvelopesBottomLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPriceenvelopesDataLabelsOptions|Array<PlotPriceenvelopesDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotPriceenvelopesDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotPriceenvelopesParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) Top line options.
- */
- topLine?: PlotPriceenvelopesTopLineOptions;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotPriceenvelopesParamsOptions {
- /**
- * (Highstock) Percentage below the moving average that should be displayed.
- * 0.1 means 90%. Relative to the calculated value.
- */
- bottomBand?: number;
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) Percentage above the moving average that should be displayed.
- * 0.1 means 110%. Relative to the calculated value.
- */
- topBand?: number;
- }
- /**
- * (Highstock) Top line options.
- */
- export interface PlotPriceenvelopesTopLineOptions {
- styles?: PlotPriceenvelopesTopLineStylesOptions;
- }
- export interface PlotPriceenvelopesTopLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.priceenvelopes.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPsarAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPsarDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPsarDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPsarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotPsarDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be set
- * and should be loaded after `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `psar` series are defined in plotOptions.psar.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPsarOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPsarAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPsarDataLabelsOptions|Array<PlotPsarDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotPsarDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotPsarParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotPsarParamsOptions {
- /**
- * (Highstock) Number of maximum decimals that are used in PSAR
- * calculations.
- */
- decimals?: number;
- /**
- * (Highstock) Acceleration factor increases by increment each time the
- * extreme point makes a new high.
- */
- increment?: number;
- /**
- * (Highstock) Index from which PSAR is starting calculation
- */
- index?: number;
- /**
- * (Highstock) The initial value for acceleration factor. Acceleration
- * factor is starting with this value and increases by specified increment
- * each time the extreme point makes a new high. AF can reach a maximum of
- * maxAccelerationFactor, no matter how long the uptrend extends.
- */
- initialAccelerationFactor?: number;
- /**
- * (Highstock) The Maximum value for acceleration factor. AF can reach a
- * maximum of maxAccelerationFactor, no matter how long the uptrend extends.
- */
- maxAccelerationFactor?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotPyramid3dAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPyramid3dDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotPyramid3dDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPyramid3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotPyramid3dDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
- * charts are a type of chart often used to visualize stages in a sales project,
- * where the top are the initial stages with the most clients.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPyramid3dOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotPyramid3dAnimationOptions);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotPyramid3dDataLabelsOptions|Array<PlotPyramid3dDataLabelsOptions>);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) By deafult sides fill is set to a gradient through this
- * option being set to `true`. Set to `false` to get solid color for the
- * sides.
- */
- gradientForSides?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) The height of the series. If it is a number it defines the
- * pixel height, if it is a percentage string it is the percentage of the
- * plot area height.
- */
- height?: (number|string);
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- neckHeight?: number;
- neckWidth?: number;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) A reversed pyramid3d is funnel3d, but the latter supports
- * neck related options: neckHeight and neckWidth
- */
- reversed?: boolean;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) The max width of the series compared to the width of the
- * plot area, or the pixel width if it is a number.
- */
- width?: (number|string);
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Initial animation is by default disabled for the funnel chart.
- */
- export interface PlotPyramidAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotPyramidDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) A pyramid series is a special type of funnel, without neck and
- * reversed by default.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotPyramidOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Initial animation is by default disabled for the funnel
- * chart.
- */
- animation?: (boolean|PlotPyramidAnimationOptions);
- /**
- * (Highcharts) The color of the border surrounding each slice. When `null`,
- * the border takes the same color as the slice fill. This can be used
- * together with a `borderWidth` to fill drawing gaps created by
- * antialiazing artefacts in borderless pies.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the border surrounding each slice.
- *
- * When setting the border width to 0, there may be small gaps between the
- * slices due to SVG antialiasing artefacts. To work around this, keep the
- * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The center of the series. By default, it is centered in the
- * middle of the plot area, so it fills the plot area height.
- */
- center?: Array<(number|string)>;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The color of the pie series. A pie series is represented as
- * an empty circle if the total sum of its values is 0. Use this property to
- * define the color of its border.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts) A series specific or series type specific color set to use
- * instead of the global colors.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
- /**
- * (Highcharts) The thickness of a 3D pie.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
- * right. Defaults to `startAngle` plus 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) The height of the funnel or pyramid. If it is a number it
- * defines the pixel height, if it is a percentage string it is the
- * percentage of the plot area height.
- */
- height?: (number|string);
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The pyramid neck width is zero by default, as opposed to the
- * funnel, which shares the same layout logic.
- */
- neckHeight?: string;
- /**
- * (Highcharts) The pyramid neck width is zero by default, as opposed to the
- * funnel, which shares the same layout logic.
- */
- neckWidth?: string;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) The pyramid is reversed by default, as opposed to the
- * funnel, which shares the layout engine, and is not reversed.
- */
- reversed?: boolean;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Since 2.1, pies are not shown in the legend by default.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- /**
- * (Highcharts) Options for the series states.
- */
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip. When `stickyTracking` is
- * false and `tooltip.shared` is false, the tooltip will be hidden when
- * moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts) The width of the funnel compared to the width of the plot
- * area, or the pixel width if it is a number.
- */
- width?: (number|string);
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotRocAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotRocDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotRocDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotRocDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotRocDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Rate of change indicator (ROC). The indicator value for each
- * point is defined as:
- *
- * `(C - Cn) / Cn * 100`
- *
- * where: `C` is the close value of the point of the same x in the linked series
- * and `Cn` is the close value of the point `n` periods ago. `n` is set through
- * period.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `roc` series are defined in plotOptions.roc.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotRocOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotRocAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotRocDataLabelsOptions|Array<PlotRocDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotRocDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotRocParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotRocParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotRsiAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotRsiDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotRsiDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotRsiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotRsiDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Relative strength index (RSI) technical indicator. This series
- * requires the `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `rsi` series are defined in plotOptions.rsi.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotRsiOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotRsiAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotRsiDataLabelsOptions|Array<PlotRsiDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotRsiDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotRsiParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotRsiParamsOptions {
- /**
- * (Highstock) Number of maximum decimals that are used in RSI calculations.
- */
- decimals?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSankeyAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSankeyDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSankeyLevelsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not node and link options.
- */
- export interface PlotSankeyLevelsOptions {
- /**
- * (Highcharts) Can set `borderColor` on all nodes which lay on the same
- * level.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
- * level.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Can set `color` on all nodes which lay on the same level.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
- * level.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
- * points which lay on the same level.
- */
- dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) Decides which level takes effect from the options set in the
- * levels object.
- */
- level?: number;
- /**
- * (Highcharts) Can set `linkOpacity` on all points which lay on the same
- * level.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) Can set `states` on all nodes and points which lay on the
- * same level.
- */
- states?: SeriesStatesOptionsObject;
- }
- /**
- * (Highcharts) A sankey diagram is a type of flow diagram, in which the width
- * of the link between two nodes is shown proportionally to the flow quantity.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `sankey` series are defined in plotOptions.sankey.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSankeyOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSankeyAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) Higher numbers makes the links in a sankey diagram or
- * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
- * straight.
- */
- curveFactor?: number;
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
- * appearing on top of the nodes and links. For sankey charts, data labels
- * are visible for the nodes by default, but hidden for links. This is
- * controlled by modifying the `nodeFormat`, and the `format` that applies
- * to links and is an empty string by default.
- */
- dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not node and link options.
- */
- levels?: Array<PlotSankeyLevelsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Opacity for the links between nodes in the sankey diagram.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) The minimal width for a line of a sankey. By default, 0
- * values are not shown.
- */
- minLinkWidth?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The padding between nodes in a sankey diagram or dependency
- * wheel, in pixels.
- *
- * If the number of nodes is so great that it is possible to lay them out
- * within the plot area with the given `nodePadding`, they will be rendered
- * with a smaller padding as a strategy to avoid overflow.
- */
- nodePadding?: number;
- /**
- * (Highcharts) The pixel width of each node in a sankey diagram or
- * dependency wheel, or the height in case the chart is inverted.
- */
- nodeWidth?: number;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotScatter3dAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotScatter3dDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotScatter3dDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotScatter3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotScatter3dDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotScatter3dJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display values
- * for three variables for a set of data.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotScatter3dOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotScatter3dAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotScatter3dDataLabelsOptions|Array<PlotScatter3dDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotScatter3dDataSortingOptions);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotScatter3dJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotScatterAnimationOptions {
- defer?: number;
- }
- export interface PlotScatterClusterEventsOptions {
- /**
- * (Highcharts, Highmaps) Fires when the cluster point is clicked and
- * `drillToCluster` is enabled. One parameter, `event`, is passed to the
- * function. The default action is to zoom to the cluster points range. This
- * can be prevented by calling `event.preventDefault()`.
- */
- drillToCluster?: MarkerClusterDrillCallbackFunction;
- }
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
- * to change the type of the algorithm, gridSize, distance or iterations.
- */
- export interface PlotScatterClusterLayoutAlgorithmOptions {
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
- * maximum distance between point and cluster center so that this point will
- * be inside the cluster. The distance is either a number defining pixels or
- * a percentage defining a percentage of the plot area width.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
- * size of a grid square element either as a number defining pixels, or a
- * percentage defining a percentage of the plot area width.
- */
- gridSize?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
- * the number of iterations that this algorithm will be repeated to find
- * clusters positions.
- */
- iterations?: number;
- /**
- * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
- * more visible points than the kmeansThreshold the `grid` algorithm is used
- * to find clusters, otherwise `kmeans`. It ensures good performance on
- * large datasets and better clusters arrangement after the zoom.
- */
- kmeansThreshold?: number;
- /**
- * (Highcharts, Highmaps) Type of the algorithm used to combine points into
- * a cluster. There are three available algorithms:
- *
- * 1) `grid` - grid-based clustering technique. Points are assigned to
- * squares of set size depending on their position on the plot area. Points
- * inside the grid square are combined into a cluster. The grid size can be
- * controlled by `gridSize` property (grid size changes at certain zoom
- * levels).
- *
- * 2) `kmeans` - based on K-Means clustering technique. In the first step,
- * points are divided using the grid method (distance property is a grid
- * size) to find the initial amount of clusters. Next, each point is
- * classified by computing the distance between each cluster center and that
- * point. When the closest cluster distance is lower than distance property
- * set by a user the point is added to this cluster otherwise is classified
- * as `noise`. The algorithm is repeated until each cluster center not
- * change its previous position more than one pixel. This technique is more
- * accurate but also more time consuming than the `grid` algorithm,
- * especially for big datasets.
- *
- * 3) `optimizedKmeans` - based on K-Means clustering technique. This
- * algorithm uses k-means algorithm only on the chart initialization or when
- * chart extremes have greater range than on initialization. When a chart is
- * redrawn the algorithm checks only clustered points distance from the
- * cluster center and rebuild it when the point is spaced enough to be
- * outside the cluster. It provides performance improvement and more stable
- * clusters position yet can be used rather on small and sparse datasets.
- *
- * By default, the algorithm depends on visible quantity of points and
- * `kmeansThreshold`. When there are more visible points than the
- * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
- *
- * The custom clustering algorithm can be added by assigning a callback
- * function as the type property. This function takes an array of
- * `processedXData`, `processedYData`, `processedXData` indexes and
- * `layoutAlgorithm` options as arguments and should return an object with
- * grouped data.
- *
- * The algorithm should return an object like that: (see online
- * documentation for example)
- *
- * `clusterId` (example above - unique id of a cluster or noise) is an array
- * of points belonging to a cluster. If the array has only one point or
- * fewer points than set in `cluster.minimumClusterSize` it won't be
- * combined into a cluster.
- */
- type?: (string|Function);
- }
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
- * the data values into larger blocks in order to ease readability and increase
- * performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online at
- * code.highcharts.com/modules/marker-clusters.js.
- */
- export interface PlotScatterClusterOptions {
- /**
- * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
- * this option works only when `layoutAlgorithm.type = "grid"`.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker animation.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highmaps) Options for the cluster data labels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
- * when a cluster is clicked.
- */
- drillToCluster?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
- */
- enabled?: boolean;
- events?: PlotScatterClusterEventsOptions;
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
- * options to change the type of the algorithm, gridSize, distance or
- * iterations.
- */
- layoutAlgorithm?: PlotScatterClusterLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The minimum amount of points to be combined into a
- * cluster. This value has to be greater or equal to 2.
- */
- minimumClusterSize?: number;
- states?: PlotScatterClusterStatesOptions;
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the
- * `className` option.
- */
- zones?: Array<PlotScatterClusterZonesOptions>;
- }
- export interface PlotScatterClusterStatesHoverOptions {
- /**
- * (Highcharts, Highmaps) The fill color of the cluster marker in hover
- * state. When `undefined`, the series' or point's fillColor for normal
- * state is used.
- */
- fillColor?: ColorType;
- }
- export interface PlotScatterClusterStatesOptions {
- hover?: PlotScatterClusterStatesHoverOptions;
- }
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
- * option.
- */
- export interface PlotScatterClusterZonesOptions {
- /**
- * (Highcharts, Highmaps) Styled mode only. A custom class name for the
- * zone.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) The value where the zone starts.
- */
- from?: number;
- /**
- * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
- * zone.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The value where the zone ends.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotScatterDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotScatterDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotScatterDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotScatterDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotScatterDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
- * plotting discrete values, a little random noise may help telling the points
- * apart. The jitter setting applies a random displacement of up to `n` axis
- * units in either direction. So for example on a horizontal X axis, setting the
- * `jitter.x` to 0.24 will render the point in a random position between 0.24
- * units to the left and 0.24 units to the right of the true axis position. On a
- * category axis, setting it to 0.5 will fill up the bin and make the data
- * appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of 0.24
- * will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- export interface PlotScatterJitterOptions {
- /**
- * (Highcharts, Highstock) The maximal X offset for the random jitter
- * effect.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The maximal Y offset for the random jitter
- * effect.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to display
- * values for two variables for a set of data.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `scatter` series are defined in plotOptions.scatter.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotScatterOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotScatterAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock) Set the point threshold for when a series should
- * enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of
- * sampling the data values into larger blocks in order to ease readability
- * and increase performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online
- * at code.highcharts.com/modules/marker-clusters.js.
- */
- cluster?: PlotScatterClusterOptions;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotScatterDataLabelsOptions|Array<PlotScatterDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotScatterDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
- * When plotting discrete values, a little random noise may help telling the
- * points apart. The jitter setting applies a random displacement of up to
- * `n` axis units in either direction. So for example on a horizontal X
- * axis, setting the `jitter.x` to 0.24 will render the point in a random
- * position between 0.24 units to the left and 0.24 units to the right of
- * the true axis position. On a category axis, setting it to 0.5 will fill
- * up the bin and make the data appear continuous.
- *
- * When rendered on top of a box plot or a column series, a jitter value of
- * 0.24 will correspond to the underlying series' default groupPadding and
- * pointPadding settings.
- */
- jitter?: PlotScatterJitterOptions;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation of the series itself. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSeriesAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSeriesDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotSeriesDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotSeriesDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box. The
- * guide box has one state by default, the `default` state.
- */
- export interface PlotSeriesDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box
- * default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
- * types.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `line` series are defined in plotOptions.line.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSeriesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for a
- * series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Allow this series' points to be
- * selected by clicking on the graphic (columns, point markers, pie slices,
- * map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation of the series itself. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSeriesAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For some series, there is a
- * limit that shuts down initial animation by default when the total number
- * of points in the chart is too high. For example, for a column chart and
- * its derivatives, animation does not run if there is more than 250 points
- * totally. To disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Sets the color blending in the
- * boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set the point threshold for when
- * a series should enter boost mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An additional class name to
- * apply to the series' graphical elements. This option does not replace
- * default class names of the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Disable this option to allow
- * series rendering in the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The main color of the series. In
- * line type series it applies to the line and the point markers unless
- * otherwise specified. In bar type series it applies to the bars unless a
- * color is specified per point. The default value is pulled from the
- * `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styled mode only. A specific
- * color index to use for the series, so its graphic representations are
- * given the class name `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) You can set the cursor to
- * "pointer" if you have click events attached to the series, to signal to
- * the user that the points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A reserved subspace to store
- * options and values for customized functionality. Here you can add
- * additional data for your own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
- * for the graph, or for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotSeriesDataLabelsOptions|Array<PlotSeriesDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotSeriesDataSortingOptions);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A description of the series to
- * add to the screen reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The draggable-points module
- * allows points to be moved around or modified in the chart. In addition to
- * the options mentioned under the `dragDrop` API structure, the module
- * fires three events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the mouse
- * tracking for a specific series. This includes point tooltips and click
- * events on graphs and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) General event handlers for the
- * series items. These event hooks can also be attached to the series at run
- * time using the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Determines whether the series
- * should look for the nearest point in both dimensions or just the
- * x-dimension when hovering the series. Defaults to `'xy'` for scatter
- * series and `'x'` for most other series. If the data has duplicate
- * x-values, it is recommended to set this to `'xy'` to allow hovering over
- * all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When set to `false` will prevent
- * the series data from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array specifying which option
- * maps to which key in the data point array. This makes it convenient to
- * work with unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The line cap used for line ends and line joins on
- * the graph.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the point markers of
- * line-like series. Properties like `fillColor`, `lineColor` and
- * `lineWidth` define the visual appearance of the markers. Other series
- * types, like column series, don't have markers, but have visual options on
- * the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color for the parts of the
- * graph or points that are below the threshold. Note that `zones` takes
- * precedence over the negative color. Using `negativeColor` is equivalent
- * to applying a zone with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Opacity of a series parts: line,
- * fill (e.g. area) and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Properties for each single
- * point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Same as
- * accessibility.pointDescriptionFormatter, but for an individual series.
- * Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to select the series
- * initially. If `showCheckbox` is true, the checkbox next to the series
- * name in the legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
- * to the graph line. Since 2.3 the shadow can be an object configuration
- * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If true, a checkbox is displayed
- * next to the legend item to allow selecting the series. The state of the
- * checkbox is determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to display this
- * particular series or series type in the legend. Standalone series are
- * shown in legend by default, and linked series are not. Since v7.2.0 it is
- * possible to show series that use colorAxis by setting this option to
- * `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If set to `true`, the
- * accessibility module will skip past the points in this series for
- * keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Sticky tracking of mouse events.
- * When true, the `mouseOut` event on a series isn't triggered until the
- * mouse moves over another series, or out of the plot area. When false, the
- * `mouseOut` event on a series is triggered when the mouse leaves the area
- * around the series' graph or markers. This also implies the tooltip when
- * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
- * the tooltip will be hidden when moving the mouse between series. Defaults
- * to true for line and area type series, but to false for columns, pies
- * etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
- * tooltip rendering of each single series. Properties are inherited from
- * tooltip, but only the following properties can be defined on a series
- * level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Set the initial visibility of
- * the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Properties for each single point.
- */
- export interface PlotSeriesPointOptions {
- /**
- * (Highstock) Events for each single point.
- */
- events?: PointEventsOptionsObject;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSlowstochasticAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSlowstochasticDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotSlowstochasticDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSlowstochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotSlowstochasticDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Slow Stochastic oscillator. This series requires the `linkedTo`
- * option to be set and should be loaded after `stock/indicators/indicators.js`
- * and `stock/indicators/stochastic.js` files.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `slowstochastic` series are defined in
- * plotOptions.slowstochastic.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSlowstochasticOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSlowstochasticAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotSlowstochasticDataLabelsOptions|Array<PlotSlowstochasticDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotSlowstochasticDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotSlowstochasticParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highstock) Smoothed line options.
- */
- smoothedLine?: PlotSlowstochasticSmoothedLineOptions;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotSlowstochasticParamsOptions {
- /**
- * (Highstock) Periods for Slow Stochastic oscillator: [%K, %D, SMA(%D)].
- */
- periods?: [number, number, number];
- }
- /**
- * (Highstock) Smoothed line options.
- */
- export interface PlotSlowstochasticSmoothedLineOptions {
- /**
- * (Highstock) Styles for a smoothed line.
- */
- styles?: PlotSlowstochasticSmoothedLineStylesOptions;
- }
- /**
- * (Highstock) Styles for a smoothed line.
- */
- export interface PlotSlowstochasticSmoothedLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.stochastic.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSmaAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSmaDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotSmaDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotSmaDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Simple moving average indicator (SMA). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `sma` series are defined in plotOptions.sma.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSmaOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSmaAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotSmaDataLabelsOptions|Array<PlotSmaDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotSmaDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotSmaParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotSmaParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSolidgaugeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSolidgaugeDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Data labels for the gauge. For gauges, the data labels are
- * enabled by default and shown in a bordered box below the point.
- */
- export interface PlotSolidgaugeDataLabelsOptions {
- /**
- * (Highcharts) The alignment of the data label compared to the point. If
- * `right`, the right side of the label should be touching the point. For
- * points with an extent, like columns, the alignments also dictates how to
- * align it inside the box, as given with the inside option. Can be one of
- * `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts) Whether to allow data labels to overlap. To make the labels
- * less sensitive for overlapping, the dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSolidgaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The background color or gradient for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The border color for the data label. Defaults to
- * `undefined`.
- */
- borderColor?: string;
- /**
- * (Highcharts) The border radius in pixels for the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts) The border width in pixels for the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts) A class name for the data label. Particularly in styled
- * mode, this can be used to give each series' or point's data label unique
- * styling. In addition to this option, a default color class name is added
- * so that we can give the labels a contrast text shadow.
- */
- className?: string;
- /**
- * (Highcharts) The text color for the data labels. Defaults to `undefined`.
- * For certain series types, like column or map, the data labels can be
- * drawn inside the points. In this case the data label will be drawn with
- * maximum contrast by default. Additionally, it will be given a
- * `text-outline` style with the opposite color, to further increase the
- * contrast. This can be overridden by setting the `text-outline` style to
- * `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Whether to hide data labels that are outside the plot area.
- * By default, the data label is moved inside the plot area according to the
- * overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts) Enable or disable the data labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts) A declarative filter to control of which data labels to
- * display. The declarative filter is designed for use when callback
- * functions are not available, like when the chart options require a pure
- * JSON structure or for use with graphical editors. For programmatic
- * control, use the `formatter` instead, and return `undefined` to disable a
- * single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts) A format string for the data label. Available variables are
- * the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the data label. Note
- * that if a `format` is defined, the format takes precedence and the
- * formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts) For points with an extent, like columns or map areas,
- * whether to align the data label inside the box or to the actual value
- * point. Defaults to `false` in most cases, `true` in stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts) Format for points with the value of null. Works analogously
- * to format. `nullFormat` can be applied only to series which support
- * displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts) Callback JavaScript function that defines formatting for
- * points with the value of null. Works analogously to formatter.
- * `nullPointFormatter` can be applied only to series which support
- * displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts) How to handle data labels that flow outside the plot area.
- * The default is `"justify"`, which aligns them inside the plot area. For
- * columns and bars, this means it will be moved inside the bar. To display
- * data labels outside the plot area, set `crop` to `false` and `overflow`
- * to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
- * set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts) Aligns data labels relative to points. If `center` alignment
- * is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts) Text rotation in degrees. Note that due to a more complex
- * structure, backgrounds, borders and padding will be lost on a rotated
- * data label.
- */
- rotation?: number;
- /**
- * (Highcharts) The shadow of the box. Works best with `borderWidth` or
- * `backgroundColor`. Since 2.3 the shadow can be an object configuration
- * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts) Styles for the label. The default `color` setting is
- * `"contrast"`, which is a pseudo color that Highcharts picks up and
- * applies the maximum contrast to the underlying point item, for example
- * the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts) Options for a label text which should follow marker's shape.
- * Border and background are disabled for a label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
- * `middle` or `bottom`. The default value depends on the data, for instance
- * in a column chart, the label is above positive values and below negative
- * values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts) The x position offset of the label relative to the point in
- * pixels.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of the label relative to the point in
- * pixels.
- */
- y?: number;
- /**
- * (Highcharts) The Z index of the data labels. The default Z index puts it
- * above the series. Use a Z index of 2 to display it behind the series.
- */
- z?: number;
- zIndex?: number;
- }
- /**
- * (Highcharts) A solid gauge is a circular gauge where the value is indicated
- * by a filled arc, and the color of the arc may variate with the value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSolidgaugeOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSolidgaugeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Whether to give each point an individual color.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts) Data labels for the gauge. For gauges, the data labels are
- * enabled by default and shown in a bordered box below the point.
- */
- dataLabels?: (PlotSolidgaugeDataLabelsOptions|Array<PlotSolidgaugeDataLabelsOptions>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) The inner radius for points in a solid gauge. Can be given
- * as a number (pixels) or percentage string.
- */
- innerRadius?: (number|string);
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) Whether the strokes of the solid gauge should be `round` or
- * `square`.
- */
- linecap?: OptionsLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Allow the gauge to overshoot the end of the perimeter axis
- * by this many degrees. Say if the gauge axis goes from 0 to 60, a value of
- * 100, or 1000, will show 5 degrees beyond the end of the axis when this
- * option is set to 5.
- */
- overshoot?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts) The outer radius for points in a solid gauge. Can be given
- * as a number (pixels) or percentage string.
- */
- radius?: (number|string);
- /**
- * (Highcharts) Wether to draw rounded edges on the gauge.
- */
- rounded?: boolean;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Defaults to false for gauge series.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The threshold or base level for the gauge.
- */
- threshold?: number;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSplineAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSplineDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotSplineDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotSplineDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotSplineDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A spline series is a special type of line series,
- * where the segments between the data points are smoothed.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `spline` series are defined in plotOptions.spline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSplineOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSplineAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotSplineDataLabelsOptions|Array<PlotSplineDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotSplineDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The line cap used for line ends and line joins on
- * the graph.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotStochasticAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotStochasticDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotStochasticDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotStochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotStochasticDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Stochastic oscillator. This series requires the `linkedTo` option
- * to be set and should be loaded after the `stock/indicators/indicators.js`
- * file.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotStochasticOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotStochasticAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotStochasticDataLabelsOptions|Array<PlotStochasticDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotStochasticDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotStochasticParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highstock) Smoothed line options.
- */
- smoothedLine?: PlotStochasticSmoothedLineOptions;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotStochasticParamsOptions {
- /**
- * (Highstock) Periods for Stochastic oscillator: [%K, %D].
- */
- periods?: [number, number];
- }
- /**
- * (Highstock) Smoothed line options.
- */
- export interface PlotStochasticSmoothedLineOptions {
- /**
- * (Highstock) Styles for a smoothed line.
- */
- styles?: PlotStochasticSmoothedLineStylesOptions;
- }
- /**
- * (Highstock) Styles for a smoothed line.
- */
- export interface PlotStochasticSmoothedLineStylesOptions {
- /**
- * (Highstock) Color of the line. If not set, it's inherited from
- * plotOptions.stochastic.color.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotStreamgraphAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotStreamgraphDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotStreamgraphDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotStreamgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotStreamgraphDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface PlotStreamgraphDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A streamgraph is a type of stacked area graph which
- * is displaced around a central axis, resulting in a flowing, organic shape.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `streamgraph` series are defined in
- * plotOptions.streamgraph.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotStreamgraphOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotStreamgraphAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Name of the dash style to use for the graph, or
- * for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotStreamgraphDataLabelsOptions|Array<PlotStreamgraphDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotStreamgraphDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
- * the series' `color` is used with the series' `fillOpacity`.
- *
- * In styled mode, the fill color can be set with the `.highcharts-area`
- * class name.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Fill opacity for the area. When you set an
- * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
- * should define the opacity in the `fillColor` with an rgba color
- * definition. The `fillOpacity` setting, also the default setting,
- * overrides the alpha component of the `color` setting.
- *
- * In styled mode, the fill opacity can be set with the `.highcharts-area`
- * class name.
- */
- fillOpacity?: number;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) A separate color for the graph line. By default
- * the line takes the `color` of the series, but the lineColor setting
- * allows setting a separate color for the line without altering the
- * `fillColor`.
- *
- * In styled mode, the line stroke can be set with the `.highcharts-graph`
- * class name.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
- * the visual appearance of the markers. Other series types, like column
- * series, don't have markers, but have visual options on the series level
- * instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A separate color for the negative part of the area.
- *
- * In styled mode, a negative color is set with the `.highcharts-negative`
- * class name.
- */
- negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
- * Since 2.3 the shadow can be an object configuration containing `color`,
- * `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The Y axis value to serve as the base for the
- * area, for distinguishing between values above and below a threshold. The
- * area between the graph and the threshold is filled.
- *
- * * If a number is given, the Y axis will scale to the threshold.
- *
- * * If `null`, the scaling behaves like a line series with fill between the
- * graph and the Y axis minimum.
- *
- * * If `Infinity` or `-Infinity`, the area between the graph and the
- * corresponding Y axis extreme is filled (since v6.1.0).
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock) Whether the whole area or just the line should
- * respond to mouseover tooltips and other mouse or touch events.
- */
- trackByArea?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSunburstAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSunburstDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Can set a `colorVariation` on all points which lies on the same
- * level.
- */
- export interface PlotSunburstLevelsColorVariationOptions {
- /**
- * (Highcharts) The key of a color variation. Currently supports
- * `brightness` only.
- */
- key?: string;
- /**
- * (Highcharts) The ending value of a color variation. The last sibling will
- * receive this value.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSunburstLevelsDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Determines the width of the ring per level.
- */
- export interface PlotSunburstLevelSizeOptions {
- /**
- * (Highcharts) How to interpret `levelSize.value`.
- *
- * - `percentage` gives a width relative to result of outer radius minus
- * inner radius.
- *
- * - `pixels` gives the ring a fixed width in pixels.
- *
- * - `weight` takes the remaining width after percentage and pixels, and
- * distributes it accross all "weighted" levels. The value relative to the
- * sum of all weights determines the width.
- */
- unit?: OptionsUnitValue;
- /**
- * (Highcharts) The value used for calculating the width of the ring. Its'
- * affect is determined by `levelSize.unit`.
- */
- value?: number;
- }
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not point options.
- */
- export interface PlotSunburstLevelsOptions {
- /**
- * (Highcharts) Can set a `borderColor` on all points which lies on the same
- * level.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) Can set a `borderDashStyle` on all points which lies on the
- * same level.
- */
- borderDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Can set a `borderWidth` on all points which lies on the same
- * level.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Can set a `color` on all points which lies on the same
- * level.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Can set a `colorVariation` on all points which lies on the
- * same level.
- */
- colorVariation?: PlotSunburstLevelsColorVariationOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
- * points which lies on the same level.
- */
- dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
- /**
- * (Highcharts) Can set a `levelSize` on all points which lies on the same
- * level.
- */
- levelSize?: object;
- /**
- * (Highcharts) Can set a `rotation` on all points which lies on the same
- * level.
- */
- rotation?: number;
- /**
- * (Highcharts) Can set a `rotationMode` on all points which lies on the
- * same level.
- */
- rotationMode?: string;
- }
- /**
- * (Highcharts) A Sunburst displays hierarchical data, where a level in the
- * hierarchy is represented by a circle. The center represents the root node of
- * the tree. The visualization bears a resemblance to both treemap and pie
- * charts.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSunburstOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) When enabled the user can click on a point which is a parent
- * and zoom in on its children.
- */
- allowTraversingTree?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSunburstAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The color of the border surrounding each slice. When `null`,
- * the border takes the same color as the slice fill. This can be used
- * together with a `borderWidth` to fill drawing gaps created by
- * antialiazing artefacts in borderless pies.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the border surrounding each slice.
- *
- * When setting the border width to 0, there may be small gaps between the
- * slices due to SVG antialiasing artefacts. To work around this, keep the
- * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The center of the sunburst chart relative to the plot area.
- * Can be percentages or pixel values.
- */
- center?: Array<(number|string)>;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) The color of the pie series. A pie series is represented as
- * an empty circle if the total sum of its values is 0. Use this property to
- * define the color of its border.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts) A series specific or series type specific color set to use
- * instead of the global colors.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) Used together with the levels and `allowDrillToNode`
- * options. When set to false the first level visible when drilling is
- * considered to be level one. Otherwise the level will be the same as the
- * tree structure.
- */
- levelIsConstant?: boolean;
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not point options.
- */
- levels?: Array<PlotSunburstLevelsOptions>;
- /**
- * (Highcharts) Determines the width of the ring per level.
- */
- levelSize?: PlotSunburstLevelSizeOptions;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts) Which point to use as a root in the visualization.
- */
- rootId?: string;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Since 2.1, pies are not shown in the legend by default.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) The diameter of the pie relative to the plot area. Can be a
- * percentage or pixel value. Pixel values are given as integers. The
- * default behaviour (as of 3.0) is to scale to the plot area and give room
- * for data labels within the plot area. slicedOffset is also included in
- * the default size calculation. As a consequence, the size of the pie may
- * vary when points are updated and data labels more around. In that case it
- * is best to set a fixed value, for example `"75%"`.
- */
- size?: (number|string|null);
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip. When `stickyTracking` is
- * false and `tooltip.shared` is false, the tooltip will be hidden when
- * moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts) Options for the button appearing when traversing down in a
- * treemap.
- */
- traverseUpButton?: PlotSunburstTraverseUpButtonOptions;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Options for the button appearing when traversing down in a
- * treemap.
- */
- export interface PlotSunburstTraverseUpButtonOptions {
- /**
- * (Highcharts) The position of the button.
- */
- position?: PlotSunburstTraverseUpButtonPositionOptions;
- }
- /**
- * (Highcharts) The position of the button.
- */
- export interface PlotSunburstTraverseUpButtonPositionOptions {
- /**
- * (Highcharts) Horizontal alignment of the button.
- */
- align?: AlignValue;
- /**
- * (Highcharts) Vertical alignment of the button.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts) Horizontal offset of the button.
- */
- x?: number;
- /**
- * (Highcharts) Vertical offset of the button.
- */
- y?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotSupertrendAnimationOptions {
- defer?: number;
- }
- /**
- * (Highstock) The styles for the Supertrend line that intersect main series.
- */
- export interface PlotSupertrendChangeTrendLineOptions {
- styles?: PlotSupertrendChangeTrendLineStylesOptions;
- }
- export interface PlotSupertrendChangeTrendLineStylesOptions {
- /**
- * (Highstock) The dash or dot style of the grid lines. For possible values,
- * see this demonstration.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Color of the line.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Pixel width of the line.
- */
- lineWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotSupertrendDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotSupertrendDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSupertrendDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotSupertrendDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Supertrend indicator. This series requires the `linkedTo` option
- * to be set and should be loaded after the `stock/indicators/indicators.js` and
- * `stock/indicators/sma.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotSupertrendOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotSupertrendAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) The styles for the Supertrend line that intersect main
- * series.
- */
- changeTrendLine?: PlotSupertrendChangeTrendLineOptions;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotSupertrendDataLabelsOptions|Array<PlotSupertrendDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotSupertrendDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Color of the Supertrend series line that is above the main
- * series.
- */
- fallingTrendColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of Supertrend indicator series
- * points.
- */
- params?: PlotSupertrendParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Color of the Supertrend series line that is beneath the main
- * series.
- */
- risingTrendColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of Supertrend indicator series
- * points.
- */
- export interface PlotSupertrendParamsOptions {
- /**
- * (Highstock) Multiplier for Supertrend Indicator.
- */
- multiplier?: number;
- /**
- * (Highstock) The base period for indicator Supertrend Indicator
- * calculations. This is the number of data points which are taken into
- * account for the indicator calculations.
- */
- period?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotTemaAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTemaDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotTemaDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotTemaDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Triple exponential moving average (TEMA) indicator. This series
- * requires `linkedTo` option to be set and should be loaded after the
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `tema` series are defined in plotOptions.tema.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotTemaOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotTemaAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotTemaDataLabelsOptions|Array<PlotTemaDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotTemaDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotTemaParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotTemaParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- *
- * By default index value used to be set to 0. Since Highstock 7 by default
- * index is set to 3 which means that the ema indicator will be calculated
- * using Close values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
- * series.
- */
- export interface PlotTilemapAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTilemapDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotTilemapDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTilemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
- * state by default, the `default` state.
- */
- export interface PlotTilemapDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the tile
- * shapes are configurable.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotTilemapOptions {
- /**
- * (Highcharts, Highmaps) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts, Highmaps) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
- * series.
- */
- animation?: (boolean|PlotTilemapAnimationOptions);
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width for each heat map item.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highmaps) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In heat maps this color is
- * rarely used, as we mostly use the color to denote the value of each
- * point. Unless options are set in the colorAxis, the default value is
- * pulled from the options.colors array.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highmaps) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highmaps) The column size - how many X axis units each
- * column in the tilemap should span. Works as in Heatmaps.
- */
- colsize?: number;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highmaps) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotTilemapDataLabelsOptions|Array<PlotTilemapDataLabelsOptions>);
- /**
- * (Highcharts, Highmaps) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highmaps) The draggable-points module allows points to be
- * moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highmaps) General event handlers for the series items. These
- * event hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highmaps) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highmaps) An array specifying which option maps to which key
- * in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- marker?: any;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highmaps) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highmaps) The color applied to null points. In styled mode,
- * a general CSS class is applied instead.
- */
- nullColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highmaps) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highmaps) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highmaps) The padding between points in the tilemap.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highmaps) The row size - how many Y axis units each tilemap
- * row should span. Analogous to colsize.
- */
- rowsize?: number;
- /**
- * (Highcharts, Highmaps) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highmaps) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highmaps) The shape of the tiles in the tilemap. Possible
- * values are `hexagon`, `circle`, `diamond`, and `square`.
- */
- tileShape?: TilemapShapeValue;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highmaps) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock) A collection of SVG attributes to override the
- * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
- */
- export interface PlotTilemapStatesHoverHaloAttributesOptions {
- zIndex?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotTimelineAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTimelineDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotTimelineDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) The timeline series presents given events along a drawn line.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `timeline` series are defined in plotOptions.timeline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotTimelineOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotTimelineAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (TimelineDataLabelsOptionsObject|Array<TimelineDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- legendType?: string;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotTreemapAnimationOptions {
- defer?: number;
- }
- export interface PlotTreemapClusterEventsOptions {
- /**
- * (Highcharts, Highmaps) Fires when the cluster point is clicked and
- * `drillToCluster` is enabled. One parameter, `event`, is passed to the
- * function. The default action is to zoom to the cluster points range. This
- * can be prevented by calling `event.preventDefault()`.
- */
- drillToCluster?: MarkerClusterDrillCallbackFunction;
- }
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
- * to change the type of the algorithm, gridSize, distance or iterations.
- */
- export interface PlotTreemapClusterLayoutAlgorithmOptions {
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
- * maximum distance between point and cluster center so that this point will
- * be inside the cluster. The distance is either a number defining pixels or
- * a percentage defining a percentage of the plot area width.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
- * size of a grid square element either as a number defining pixels, or a
- * percentage defining a percentage of the plot area width.
- */
- gridSize?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
- * the number of iterations that this algorithm will be repeated to find
- * clusters positions.
- */
- iterations?: number;
- /**
- * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
- * more visible points than the kmeansThreshold the `grid` algorithm is used
- * to find clusters, otherwise `kmeans`. It ensures good performance on
- * large datasets and better clusters arrangement after the zoom.
- */
- kmeansThreshold?: number;
- /**
- * (Highcharts, Highmaps) Type of the algorithm used to combine points into
- * a cluster. There are three available algorithms:
- *
- * 1) `grid` - grid-based clustering technique. Points are assigned to
- * squares of set size depending on their position on the plot area. Points
- * inside the grid square are combined into a cluster. The grid size can be
- * controlled by `gridSize` property (grid size changes at certain zoom
- * levels).
- *
- * 2) `kmeans` - based on K-Means clustering technique. In the first step,
- * points are divided using the grid method (distance property is a grid
- * size) to find the initial amount of clusters. Next, each point is
- * classified by computing the distance between each cluster center and that
- * point. When the closest cluster distance is lower than distance property
- * set by a user the point is added to this cluster otherwise is classified
- * as `noise`. The algorithm is repeated until each cluster center not
- * change its previous position more than one pixel. This technique is more
- * accurate but also more time consuming than the `grid` algorithm,
- * especially for big datasets.
- *
- * 3) `optimizedKmeans` - based on K-Means clustering technique. This
- * algorithm uses k-means algorithm only on the chart initialization or when
- * chart extremes have greater range than on initialization. When a chart is
- * redrawn the algorithm checks only clustered points distance from the
- * cluster center and rebuild it when the point is spaced enough to be
- * outside the cluster. It provides performance improvement and more stable
- * clusters position yet can be used rather on small and sparse datasets.
- *
- * By default, the algorithm depends on visible quantity of points and
- * `kmeansThreshold`. When there are more visible points than the
- * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
- *
- * The custom clustering algorithm can be added by assigning a callback
- * function as the type property. This function takes an array of
- * `processedXData`, `processedYData`, `processedXData` indexes and
- * `layoutAlgorithm` options as arguments and should return an object with
- * grouped data.
- *
- * The algorithm should return an object like that: (see online
- * documentation for example)
- *
- * `clusterId` (example above - unique id of a cluster or noise) is an array
- * of points belonging to a cluster. If the array has only one point or
- * fewer points than set in `cluster.minimumClusterSize` it won't be
- * combined into a cluster.
- */
- type?: (string|Function);
- }
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
- * the data values into larger blocks in order to ease readability and increase
- * performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online at
- * code.highcharts.com/modules/marker-clusters.js.
- */
- export interface PlotTreemapClusterOptions {
- /**
- * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
- * this option works only when `layoutAlgorithm.type = "grid"`.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker animation.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highmaps) Options for the cluster data labels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
- * when a cluster is clicked.
- */
- drillToCluster?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
- */
- enabled?: boolean;
- events?: PlotTreemapClusterEventsOptions;
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
- * options to change the type of the algorithm, gridSize, distance or
- * iterations.
- */
- layoutAlgorithm?: PlotTreemapClusterLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The minimum amount of points to be combined into a
- * cluster. This value has to be greater or equal to 2.
- */
- minimumClusterSize?: number;
- states?: PlotTreemapClusterStatesOptions;
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the
- * `className` option.
- */
- zones?: Array<PlotTreemapClusterZonesOptions>;
- }
- export interface PlotTreemapClusterStatesHoverOptions {
- /**
- * (Highcharts, Highmaps) The fill color of the cluster marker in hover
- * state. When `undefined`, the series' or point's fillColor for normal
- * state is used.
- */
- fillColor?: ColorType;
- }
- export interface PlotTreemapClusterStatesOptions {
- hover?: PlotTreemapClusterStatesHoverOptions;
- }
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
- * option.
- */
- export interface PlotTreemapClusterZonesOptions {
- /**
- * (Highcharts, Highmaps) Styled mode only. A custom class name for the
- * zone.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) The value where the zone starts.
- */
- from?: number;
- /**
- * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
- * zone.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The value where the zone ends.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTreemapDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotTreemapDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTreemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) A configuration object to define how the color of a child varies
- * from the parent's color. The variation is distributed among the children of
- * node. For example when setting brightness, the brightness change will range
- * from the parent's original brightness on the first child, to the amount set
- * in the `to` setting on the last node. This allows a gradient-like color
- * scheme that sets children out from each other while highlighting the grouping
- * on treemaps and sectors on sunburst charts.
- */
- export interface PlotTreemapLevelsColorVariationOptions {
- /**
- * (Highcharts) The key of a color variation. Currently supports
- * `brightness` only.
- */
- key?: "brightness";
- /**
- * (Highcharts) The ending value of a color variation. The last sibling will
- * receive this value.
- */
- to?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTreemapLevelsDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Can set the options of dataLabels on each point which lies on
- * the level. plotOptions.treemap.dataLabels for possible values.
- */
- export interface PlotTreemapLevelsDataLabelsOptions {
- /**
- * (Highcharts) The alignment of the data label compared to the point. If
- * `right`, the right side of the label should be touching the point. For
- * points with an extent, like columns, the alignments also dictates how to
- * align it inside the box, as given with the inside option. Can be one of
- * `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts) Whether to allow data labels to overlap. To make the labels
- * less sensitive for overlapping, the dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTreemapLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The background color or gradient for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The border color for the data label. Defaults to
- * `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The border radius in pixels for the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts) The border width in pixels for the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts) A class name for the data label. Particularly in styled
- * mode, this can be used to give each series' or point's data label unique
- * styling. In addition to this option, a default color class name is added
- * so that we can give the labels a contrast text shadow.
- */
- className?: string;
- /**
- * (Highcharts) The text color for the data labels. Defaults to `undefined`.
- * For certain series types, like column or map, the data labels can be
- * drawn inside the points. In this case the data label will be drawn with
- * maximum contrast by default. Additionally, it will be given a
- * `text-outline` style with the opposite color, to further increase the
- * contrast. This can be overridden by setting the `text-outline` style to
- * `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Whether to hide data labels that are outside the plot area.
- * By default, the data label is moved inside the plot area according to the
- * overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts) Enable or disable the data labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts) A declarative filter to control of which data labels to
- * display. The declarative filter is designed for use when callback
- * functions are not available, like when the chart options require a pure
- * JSON structure or for use with graphical editors. For programmatic
- * control, use the `formatter` instead, and return `undefined` to disable a
- * single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts) A format string for the data label. Available variables are
- * the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the data label. Note
- * that if a `format` is defined, the format takes precedence and the
- * formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts) For points with an extent, like columns or map areas,
- * whether to align the data label inside the box or to the actual value
- * point. Defaults to `false` in most cases, `true` in stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts) Format for points with the value of null. Works analogously
- * to format. `nullFormat` can be applied only to series which support
- * displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts) Callback JavaScript function that defines formatting for
- * points with the value of null. Works analogously to formatter.
- * `nullPointFormatter` can be applied only to series which support
- * displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts) How to handle data labels that flow outside the plot area.
- * The default is `"justify"`, which aligns them inside the plot area. For
- * columns and bars, this means it will be moved inside the bar. To display
- * data labels outside the plot area, set `crop` to `false` and `overflow`
- * to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
- * set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts) Aligns data labels relative to points. If `center` alignment
- * is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts) Text rotation in degrees. Note that due to a more complex
- * structure, backgrounds, borders and padding will be lost on a rotated
- * data label.
- */
- rotation?: number;
- /**
- * (Highcharts) The shadow of the box. Works best with `borderWidth` or
- * `backgroundColor`. Since 2.3 the shadow can be an object configuration
- * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) The name of a symbol to use for the border around the label.
- * Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts) Styles for the label. The default `color` setting is
- * `"contrast"`, which is a pseudo color that Highcharts picks up and
- * applies the maximum contrast to the underlying point item, for example
- * the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts) Options for a label text which should follow marker's shape.
- * Border and background are disabled for a label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
- * `middle` or `bottom`. The default value depends on the data, for instance
- * in a column chart, the label is above positive values and below negative
- * values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts) The x position offset of the label relative to the point in
- * pixels.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of the label relative to the point in
- * pixels.
- */
- y?: number;
- /**
- * (Highcharts) The Z index of the data labels. The default Z index puts it
- * above the series. Use a Z index of 2 to display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not point options.
- */
- export interface PlotTreemapLevelsOptions {
- /**
- * (Highcharts) Can set a `borderColor` on all points which lies on the same
- * level.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) Set the dash style of the border of all the point which lies
- * on the level. See plotOptions.scatter.dashStyle for possible options.
- */
- borderDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Can set the borderWidth on all points which lies on the same
- * level.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Can set a color on all points which lies on the same level.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) A configuration object to define how the color of a child
- * varies from the parent's color. The variation is distributed among the
- * children of node. For example when setting brightness, the brightness
- * change will range from the parent's original brightness on the first
- * child, to the amount set in the `to` setting on the last node. This
- * allows a gradient-like color scheme that sets children out from each
- * other while highlighting the grouping on treemaps and sectors on sunburst
- * charts.
- */
- colorVariation?: PlotTreemapLevelsColorVariationOptions;
- /**
- * (Highcharts) Can set the options of dataLabels on each point which lies
- * on the level. plotOptions.treemap.dataLabels for possible values.
- */
- dataLabels?: (PlotTreemapLevelsDataLabelsOptions|Array<PlotTreemapLevelsDataLabelsOptions>);
- /**
- * (Highcharts) Can set the layoutAlgorithm option on a specific level.
- */
- layoutAlgorithm?: OptionsLayoutAlgorithmValue;
- /**
- * (Highcharts) Can set the layoutStartingDirection option on a specific
- * level.
- */
- layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
- /**
- * (Highcharts) Decides which level takes effect from the options set in the
- * levels object.
- */
- level?: number;
- }
- /**
- * (Highcharts) A treemap displays hierarchical data using nested rectangles.
- * The data can be laid out in varying ways depending on options.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `treemap` series are defined in plotOptions.treemap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotTreemapOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) When enabled the user can click on a point which is a parent
- * and zoom in on its children.
- */
- allowTraversingTree?: boolean;
- /**
- * (Highcharts) Enabling this option will make the treemap alternate the
- * drawing direction between vertical and horizontal. The next levels
- * starting direction will always be the opposite of the previous.
- */
- alternateStartingDirection?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotTreemapAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highcharts) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The color of the border surrounding each tree map item.
- */
- borderColor?: ColorString;
- /**
- * (Highmaps) The width of the border surrounding each tree map item.
- */
- borderWidth?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of
- * sampling the data values into larger blocks in order to ease readability
- * and increase performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online
- * at code.highcharts.com/modules/marker-clusters.js.
- */
- cluster?: PlotTreemapClusterOptions;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) When using automatic point colors pulled from the
- * `options.colors` collection, this option determines whether the chart
- * should receive one color per series or one color per point.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts) A series specific or series type specific color set to apply
- * instead of the global colors when colorByPoint is true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) When the series contains less points than the crop
- * threshold, all points are drawn, event if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotTreemapDataLabelsOptions|Array<PlotTreemapDataLabelsOptions>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts) Whether to ignore hidden points when the layout algorithm
- * runs. If `false`, hidden points will leave open spaces.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) This option decides if the user can interact with the parent
- * nodes or just the leaf nodes. When this option is undefined, it will be
- * true by default. However when allowTraversingTree is true, then it will
- * be false by default.
- */
- interactByLeaf?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) This option decides which algorithm is used for setting
- * position and dimensions of the points.
- */
- layoutAlgorithm?: OptionsLayoutAlgorithmValue;
- /**
- * (Highcharts) Defines which direction the layout algorithm will start
- * drawing.
- */
- layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
- /**
- * (Highcharts) Used together with the levels and allowTraversingTree
- * options. When set to false the first level visible to be level one, which
- * is dynamic when traversing the tree. Otherwise the level will be the same
- * as the tree structure.
- */
- levelIsConstant?: boolean;
- /**
- * (Highcharts) Set options on specific levels. Takes precedence over series
- * options, but not point options.
- */
- levels?: Array<PlotTreemapLevelsOptions>;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) The width of the line connecting the data points.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The opacity of a point in treemap. When a point has
- * children, the visibility of the children is determined by the opacity.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this series type or specific series item
- * in the legend.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts) The sort index of the point inside the treemap level.
- */
- sortIndex?: number;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- /**
- * (Highcharts) A wrapper object for all the series options in specific
- * states.
- */
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts) Options for the button appearing when traversing down in a
- * treemap.
- */
- traverseUpButton?: PlotTreemapTraverseUpButtonOptions;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Options for the button appearing when traversing down in a
- * treemap.
- */
- export interface PlotTreemapTraverseUpButtonOptions {
- /**
- * (Highcharts) The position of the button.
- */
- position?: PlotTreemapTraverseUpButtonPositionOptions;
- }
- /**
- * (Highcharts) The position of the button.
- */
- export interface PlotTreemapTraverseUpButtonPositionOptions {
- /**
- * (Highcharts) Horizontal alignment of the button.
- */
- align?: AlignValue;
- /**
- * (Highcharts) Vertical alignment of the button.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts) Horizontal offset of the button.
- */
- x?: number;
- /**
- * (Highcharts) Vertical offset of the button.
- */
- y?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotTrendlineAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTrendlineDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotTrendlineDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTrendlineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotTrendlineDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Trendline (linear regression) fits a straight line to the
- * selected data using a method called the Sum Of Least Squares. This series
- * requires the `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `trendline` series are defined in plotOptions.trendline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotTrendlineOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotTrendlineAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotTrendlineDataLabelsOptions|Array<PlotTrendlineDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotTrendlineDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotTrendlineParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotTrendlineParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: (number|string);
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotTrixAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotTrixDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotTrixDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTrixDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotTrixDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Triple exponential average (TRIX) oscillator. This series
- * requires `linkedTo` option to be set.
- *
- * Requires https://code.highcharts.com/stock/indicators/ema.js and
- * https://code.highcharts.com/stock/indicators/tema.js.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `trix` series are defined in plotOptions.trix.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotTrixOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotTrixAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotTrixDataLabelsOptions|Array<PlotTrixDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotTrixDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotTrixParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotTrixParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- *
- * By default index value used to be set to 0. Since Highstock 7 by default
- * index is set to 3 which means that the ema indicator will be calculated
- * using Close values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotVariablepieAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotVariablepieDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) A variable pie series is a two dimensional series type, where
- * each point renders an Y and Z value. Each point is drawn as a pie slice where
- * the size (arc) of the slice relates to the Y value and the radius of pie
- * slice relates to the Z value.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `variablepie` series are defined in
- * plotOptions.variablepie.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotVariablepieOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotVariablepieAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The color of the border surrounding each slice. When `null`,
- * the border takes the same color as the slice fill. This can be used
- * together with a `borderWidth` to fill drawing gaps created by
- * antialiazing artefacts in borderless pies.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the border surrounding each slice.
- *
- * When setting the border width to 0, there may be small gaps between the
- * slices due to SVG antialiasing artefacts. To work around this, keep the
- * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The center of the pie chart relative to the plot area. Can
- * be percentages or pixel values. The default behaviour (as of 3.0) is to
- * center the pie so that all slices and data labels are within the plot
- * area. As a consequence, the pie may actually jump around in a chart with
- * dynamic values, as the data labels move. In that case, the center should
- * be explicitly set, for example to `["50%", "50%"]`.
- */
- center?: [(number|string|null), (number|string|null)];
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The color of the pie series. A pie series is represented as
- * an empty circle if the total sum of its values is 0. Use this property to
- * define the color of its border.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts) A series specific or series type specific color set to use
- * instead of the global colors.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
- /**
- * (Highcharts) The thickness of a 3D pie.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
- * right. Defaults to `startAngle` plus 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) The size of the inner diameter for the pie. A size greater
- * than 0 renders a donut chart. Can be a percentage or pixel value.
- * Percentages are relative to the pie size. Pixel values are given as
- * integers.
- *
- * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
- * area, not the pie size.
- */
- innerSize?: (number|string);
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) The maximum size of the points' radius related to chart's
- * `plotArea`. If a number is set, it applies in pixels.
- */
- maxPointSize?: (number|string);
- /**
- * (Highcharts) The minimum size of the points' radius related to chart's
- * `plotArea`. If a number is set, it applies in pixels.
- */
- minPointSize?: (number|string);
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Since 2.1, pies are not shown in the legend by default.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) The diameter of the pie relative to the plot area. Can be a
- * percentage or pixel value. Pixel values are given as integers. The
- * default behaviour (as of 3.0) is to scale to the plot area and give room
- * for data labels within the plot area. slicedOffset is also included in
- * the default size calculation. As a consequence, the size of the pie may
- * vary when points are updated and data labels more around. In that case it
- * is best to set a fixed value, for example `"75%"`.
- */
- size?: (number|string|null);
- /**
- * (Highcharts) Whether the pie slice's value should be represented by the
- * area or the radius of the slice. Can be either `area` or `radius`. The
- * default, `area`, corresponds best to the human perception of the size of
- * each pie slice.
- */
- sizeBy?: VariablePieSizeByValue;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip. When `stickyTracking` is
- * false and `tooltip.shared` is false, the tooltip will be hidden when
- * moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts) The maximum possible z value for the point's radius
- * calculation. If the point's Z value is bigger than zMax, the slice will
- * be drawn according to the zMax value
- */
- zMax?: number;
- /**
- * (Highcharts) The minimum possible z value for the point's radius
- * calculation. If the point's Z value is smaller than zMin, the slice will
- * be drawn according to the zMin value.
- */
- zMin?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotVariwideAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotVariwideDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotVariwideDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotVariwideDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotVariwideDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotVariwideDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A variwide chart (related to marimekko chart) is a column chart
- * with a variable width expressing a third dimension.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `variwide` series are defined in plotOptions.variwide.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotVariwideOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotVariwideAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotVariwideDataLabelsOptions|Array<PlotVariwideDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotVariwideDataSortingOptions);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) In a variwide chart, the group padding is
- * 0 in order to express the horizontal stacking of items.
- */
- groupPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) In a variwide chart, the point padding is
- * 0 in order to express the horizontal stacking of items.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotVbpAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotVbpDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotVbpDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotVbpDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotVbpDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Volume By Price indicator.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `vbp` series are defined in plotOptions.vbp.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotVbpOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotVbpAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotVbpDataLabelsOptions|Array<PlotVbpDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotVbpDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotVbpParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- pointPadding?: number;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highstock) The styles for bars when volume is divided into
- * positive/negative.
- */
- volumeDivision?: PlotVbpVolumeDivisionOptions;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highstock) The styles for lines which determine price zones.
- */
- zoneLines?: PlotVbpZoneLinesOptions;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotVbpParamsOptions {
- /**
- * (Highstock) The number of price zones.
- */
- ranges?: number;
- /**
- * (Highstock) The id of volume series which is mandatory. For example using
- * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
- * using OHLC and volume values.
- */
- volumeSeriesID?: string;
- }
- /**
- * (Highstock) The styles for bars when volume is divided into
- * positive/negative.
- */
- export interface PlotVbpVolumeDivisionOptions {
- /**
- * (Highstock) Option to control if volume is divided.
- */
- enabled?: boolean;
- styles?: PlotVbpVolumeDivisionStylesOptions;
- }
- export interface PlotVbpVolumeDivisionStylesOptions {
- /**
- * (Highstock) Color of negative volume bars.
- */
- negativeColor?: ColorString;
- /**
- * (Highstock) Color of positive volume bars.
- */
- positiveColor?: ColorString;
- }
- /**
- * (Highstock) The styles for lines which determine price zones.
- */
- export interface PlotVbpZoneLinesOptions {
- /**
- * (Highstock) Enable/disable zone lines.
- */
- enabled?: boolean;
- /**
- * (Highstock) Specify the style of zone lines.
- */
- styles?: CSSObject;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotVectorAnimationOptions {
- defer?: number;
- }
- export interface PlotVectorClusterEventsOptions {
- /**
- * (Highcharts, Highmaps) Fires when the cluster point is clicked and
- * `drillToCluster` is enabled. One parameter, `event`, is passed to the
- * function. The default action is to zoom to the cluster points range. This
- * can be prevented by calling `event.preventDefault()`.
- */
- drillToCluster?: MarkerClusterDrillCallbackFunction;
- }
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
- * to change the type of the algorithm, gridSize, distance or iterations.
- */
- export interface PlotVectorClusterLayoutAlgorithmOptions {
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
- * maximum distance between point and cluster center so that this point will
- * be inside the cluster. The distance is either a number defining pixels or
- * a percentage defining a percentage of the plot area width.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
- * size of a grid square element either as a number defining pixels, or a
- * percentage defining a percentage of the plot area width.
- */
- gridSize?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
- * the number of iterations that this algorithm will be repeated to find
- * clusters positions.
- */
- iterations?: number;
- /**
- * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
- * more visible points than the kmeansThreshold the `grid` algorithm is used
- * to find clusters, otherwise `kmeans`. It ensures good performance on
- * large datasets and better clusters arrangement after the zoom.
- */
- kmeansThreshold?: number;
- /**
- * (Highcharts, Highmaps) Type of the algorithm used to combine points into
- * a cluster. There are three available algorithms:
- *
- * 1) `grid` - grid-based clustering technique. Points are assigned to
- * squares of set size depending on their position on the plot area. Points
- * inside the grid square are combined into a cluster. The grid size can be
- * controlled by `gridSize` property (grid size changes at certain zoom
- * levels).
- *
- * 2) `kmeans` - based on K-Means clustering technique. In the first step,
- * points are divided using the grid method (distance property is a grid
- * size) to find the initial amount of clusters. Next, each point is
- * classified by computing the distance between each cluster center and that
- * point. When the closest cluster distance is lower than distance property
- * set by a user the point is added to this cluster otherwise is classified
- * as `noise`. The algorithm is repeated until each cluster center not
- * change its previous position more than one pixel. This technique is more
- * accurate but also more time consuming than the `grid` algorithm,
- * especially for big datasets.
- *
- * 3) `optimizedKmeans` - based on K-Means clustering technique. This
- * algorithm uses k-means algorithm only on the chart initialization or when
- * chart extremes have greater range than on initialization. When a chart is
- * redrawn the algorithm checks only clustered points distance from the
- * cluster center and rebuild it when the point is spaced enough to be
- * outside the cluster. It provides performance improvement and more stable
- * clusters position yet can be used rather on small and sparse datasets.
- *
- * By default, the algorithm depends on visible quantity of points and
- * `kmeansThreshold`. When there are more visible points than the
- * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
- *
- * The custom clustering algorithm can be added by assigning a callback
- * function as the type property. This function takes an array of
- * `processedXData`, `processedYData`, `processedXData` indexes and
- * `layoutAlgorithm` options as arguments and should return an object with
- * grouped data.
- *
- * The algorithm should return an object like that: (see online
- * documentation for example)
- *
- * `clusterId` (example above - unique id of a cluster or noise) is an array
- * of points belonging to a cluster. If the array has only one point or
- * fewer points than set in `cluster.minimumClusterSize` it won't be
- * combined into a cluster.
- */
- type?: (string|Function);
- }
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
- * the data values into larger blocks in order to ease readability and increase
- * performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online at
- * code.highcharts.com/modules/marker-clusters.js.
- */
- export interface PlotVectorClusterOptions {
- /**
- * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
- * this option works only when `layoutAlgorithm.type = "grid"`.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker animation.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highmaps) Options for the cluster data labels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
- * when a cluster is clicked.
- */
- drillToCluster?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
- */
- enabled?: boolean;
- events?: PlotVectorClusterEventsOptions;
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
- * options to change the type of the algorithm, gridSize, distance or
- * iterations.
- */
- layoutAlgorithm?: PlotVectorClusterLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The minimum amount of points to be combined into a
- * cluster. This value has to be greater or equal to 2.
- */
- minimumClusterSize?: number;
- states?: PlotVectorClusterStatesOptions;
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the
- * `className` option.
- */
- zones?: Array<PlotVectorClusterZonesOptions>;
- }
- export interface PlotVectorClusterStatesHoverOptions {
- /**
- * (Highcharts, Highmaps) The fill color of the cluster marker in hover
- * state. When `undefined`, the series' or point's fillColor for normal
- * state is used.
- */
- fillColor?: ColorType;
- }
- export interface PlotVectorClusterStatesOptions {
- hover?: PlotVectorClusterStatesHoverOptions;
- }
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
- * option.
- */
- export interface PlotVectorClusterZonesOptions {
- /**
- * (Highcharts, Highmaps) Styled mode only. A custom class name for the
- * zone.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) The value where the zone starts.
- */
- from?: number;
- /**
- * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
- * zone.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The value where the zone ends.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotVectorDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotVectorDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotVectorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotVectorDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) A vector plot is a type of cartesian chart where each
- * point has an X and Y position, a length and a direction. Vectors are drawn as
- * arrows.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `vector` series are defined in plotOptions.vector.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotVectorOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotVectorAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of
- * sampling the data values into larger blocks in order to ease readability
- * and increase performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online
- * at code.highcharts.com/modules/marker-clusters.js.
- */
- cluster?: PlotVectorClusterOptions;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotVectorDataLabelsOptions|Array<PlotVectorDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotVectorDataSortingOptions);
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The line width for each vector arrow.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock) What part of the vector it should be rotated
- * around. Can be one of `start`, `center` and `end`. When `start`, the
- * vectors will start from the given [x, y] position, and when `end` the
- * vectors will end in the [x, y] position.
- */
- rotationOrigin?: OptionsRotationOriginValue;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Maximum length of the arrows in the vector plot.
- * The individual arrow length is computed between 0 and this value.
- */
- vectorLength?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotVennAnimationOptions {
- defer?: number;
- }
- export interface PlotVennClusterEventsOptions {
- /**
- * (Highcharts, Highmaps) Fires when the cluster point is clicked and
- * `drillToCluster` is enabled. One parameter, `event`, is passed to the
- * function. The default action is to zoom to the cluster points range. This
- * can be prevented by calling `event.preventDefault()`.
- */
- drillToCluster?: MarkerClusterDrillCallbackFunction;
- }
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
- * to change the type of the algorithm, gridSize, distance or iterations.
- */
- export interface PlotVennClusterLayoutAlgorithmOptions {
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
- * maximum distance between point and cluster center so that this point will
- * be inside the cluster. The distance is either a number defining pixels or
- * a percentage defining a percentage of the plot area width.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
- * size of a grid square element either as a number defining pixels, or a
- * percentage defining a percentage of the plot area width.
- */
- gridSize?: (number|string);
- /**
- * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
- * the number of iterations that this algorithm will be repeated to find
- * clusters positions.
- */
- iterations?: number;
- /**
- * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
- * more visible points than the kmeansThreshold the `grid` algorithm is used
- * to find clusters, otherwise `kmeans`. It ensures good performance on
- * large datasets and better clusters arrangement after the zoom.
- */
- kmeansThreshold?: number;
- /**
- * (Highcharts, Highmaps) Type of the algorithm used to combine points into
- * a cluster. There are three available algorithms:
- *
- * 1) `grid` - grid-based clustering technique. Points are assigned to
- * squares of set size depending on their position on the plot area. Points
- * inside the grid square are combined into a cluster. The grid size can be
- * controlled by `gridSize` property (grid size changes at certain zoom
- * levels).
- *
- * 2) `kmeans` - based on K-Means clustering technique. In the first step,
- * points are divided using the grid method (distance property is a grid
- * size) to find the initial amount of clusters. Next, each point is
- * classified by computing the distance between each cluster center and that
- * point. When the closest cluster distance is lower than distance property
- * set by a user the point is added to this cluster otherwise is classified
- * as `noise`. The algorithm is repeated until each cluster center not
- * change its previous position more than one pixel. This technique is more
- * accurate but also more time consuming than the `grid` algorithm,
- * especially for big datasets.
- *
- * 3) `optimizedKmeans` - based on K-Means clustering technique. This
- * algorithm uses k-means algorithm only on the chart initialization or when
- * chart extremes have greater range than on initialization. When a chart is
- * redrawn the algorithm checks only clustered points distance from the
- * cluster center and rebuild it when the point is spaced enough to be
- * outside the cluster. It provides performance improvement and more stable
- * clusters position yet can be used rather on small and sparse datasets.
- *
- * By default, the algorithm depends on visible quantity of points and
- * `kmeansThreshold`. When there are more visible points than the
- * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
- *
- * The custom clustering algorithm can be added by assigning a callback
- * function as the type property. This function takes an array of
- * `processedXData`, `processedYData`, `processedXData` indexes and
- * `layoutAlgorithm` options as arguments and should return an object with
- * grouped data.
- *
- * The algorithm should return an object like that: (see online
- * documentation for example)
- *
- * `clusterId` (example above - unique id of a cluster or noise) is an array
- * of points belonging to a cluster. If the array has only one point or
- * fewer points than set in `cluster.minimumClusterSize` it won't be
- * combined into a cluster.
- */
- type?: (string|Function);
- }
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
- * the data values into larger blocks in order to ease readability and increase
- * performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online at
- * code.highcharts.com/modules/marker-clusters.js.
- */
- export interface PlotVennClusterOptions {
- /**
- * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
- * this option works only when `layoutAlgorithm.type = "grid"`.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker animation.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highmaps) Options for the cluster data labels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
- * when a cluster is clicked.
- */
- drillToCluster?: boolean;
- /**
- * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
- */
- enabled?: boolean;
- events?: PlotVennClusterEventsOptions;
- /**
- * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
- * options to change the type of the algorithm, gridSize, distance or
- * iterations.
- */
- layoutAlgorithm?: PlotVennClusterLayoutAlgorithmOptions;
- /**
- * (Highcharts, Highmaps) Options for the cluster marker.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The minimum amount of points to be combined into a
- * cluster. This value has to be greater or equal to 2.
- */
- minimumClusterSize?: number;
- states?: PlotVennClusterStatesOptions;
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the
- * `className` option.
- */
- zones?: Array<PlotVennClusterZonesOptions>;
- }
- export interface PlotVennClusterStatesHoverOptions {
- /**
- * (Highcharts, Highmaps) The fill color of the cluster marker in hover
- * state. When `undefined`, the series' or point's fillColor for normal
- * state is used.
- */
- fillColor?: ColorType;
- }
- export interface PlotVennClusterStatesOptions {
- hover?: PlotVennClusterStatesHoverOptions;
- }
- /**
- * (Highcharts, Highmaps) An array defining zones within marker clusters.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
- * option.
- */
- export interface PlotVennClusterZonesOptions {
- /**
- * (Highcharts, Highmaps) Styled mode only. A custom class name for the
- * zone.
- */
- className?: string;
- /**
- * (Highcharts, Highmaps) The value where the zone starts.
- */
- from?: number;
- /**
- * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
- * zone.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highmaps) The value where the zone ends.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotVennDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotVennDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotVennDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) A Venn diagram displays all possible logical relations between a
- * collection of different sets. The sets are represented by circles, and the
- * relation between the sets are displayed by the overlap or lack of overlap
- * between them. The venn diagram is a special case of Euler diagrams, which can
- * also be displayed by this series type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `venn` series are defined in plotOptions.venn.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotVennOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotVennAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: string;
- borderDashStyle?: string;
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- brighten?: number;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highmaps) Options for marker clusters, the concept of
- * sampling the data values into larger blocks in order to ease readability
- * and increase performance of the JavaScript charts.
- *
- * Note: marker clusters module is not working with `boost` and
- * `draggable-points` modules.
- *
- * The marker clusters feature requires the marker-clusters.js file to be
- * loaded, found in the modules directory of the download package, or online
- * at code.highcharts.com/modules/marker-clusters.js.
- */
- cluster?: PlotVennClusterOptions;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotVennDataLabelsOptions|Array<PlotVennDataLabelsOptions>);
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- marker?: boolean;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) The width of each point on the x axis. For example in a
- * column chart with one value each day, the pointRange would be 1 day (= 24
- * * 3600
- *
- * * 1000 milliseconds). This is normally computed automatically, but this
- * option can be used to override the automatic value.
- */
- pointRange?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip. Overridable
- * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
- * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
- * series.name by default shows in the headerFormat and point.x and point.y
- * in the pointFormat.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotVwapAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotVwapDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotVwapDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotVwapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotVwapDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Volume Weighted Average Price indicator.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `vwap` series are defined in plotOptions.vwap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotVwapOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotVwapAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotVwapDataLabelsOptions|Array<PlotVwapDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotVwapDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotVwapParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotVwapParamsOptions {
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- /**
- * (Highstock) The id of volume series which is mandatory. For example using
- * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
- * using OHLC and volume values.
- */
- volumeSeriesID?: string;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotWaterfallAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotWaterfallDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotWaterfallDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotWaterfallDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotWaterfallDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface PlotWaterfallDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A waterfall chart displays sequentially introduced positive or
- * negative values in cumulative columns.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotWaterfallOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotWaterfallAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts) The color of the border of each waterfall column.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highcharts) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) A name for the dash style to use for the line connecting the
- * columns of the waterfall series. Possible values: Dash, DashDot, Dot,
- * LongDash, LongDashDot, LongDashDotDot, ShortDash, ShortDashDot,
- * ShortDashDotDot, ShortDot, Solid
- *
- * In styled mode, the stroke dash-array can be set with the
- * `.highcharts-graph` class.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotWaterfallDataLabelsOptions|Array<PlotWaterfallDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotWaterfallDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) The draggable-points module allows points to be moved around
- * or modified in the chart. In addition to the options mentioned under the
- * `dragDrop` API structure, the module fires three events, point.dragStart,
- * point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts) The color of the line that connects columns in a waterfall
- * series.
- *
- * In styled mode, the stroke can be set with the `.highcharts-graph` class.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The width of the line connecting waterfall columns.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts) The color for the parts of the graph or points that are
- * below the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- /**
- * (Highcharts, Highstock) Whether to stack the values of each series on top
- * of each other. Possible values are `undefined` to disable, `"normal"` to
- * stack by value or `"percent"`.
- *
- * When stacking is enabled, data must be sorted in ascending X order.
- *
- * Some stacking options are related to specific series types. In the
- * streamgraph series type, the stacking option is set to `"stream"`. The
- * second one is `"overlap"`, which only applies to waterfall series.
- */
- stacking?: OptionsStackingValue;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) The color used specifically for positive point columns. When
- * not specified, the general series color is used.
- *
- * In styled mode, the waterfall colors can be set with the
- * `.highcharts-point-negative`, `.highcharts-sum` and
- * `.highcharts-intermediate-sum` classes.
- */
- upColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotWilliamsrAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotWilliamsrDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotWilliamsrDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotWilliamsrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotWilliamsrDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Williams %R. This series requires the `linkedTo` option to be set
- * and should be loaded after the `stock/indicators/indicators.js`.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotWilliamsrOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotWilliamsrAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotWilliamsrDataLabelsOptions|Array<PlotWilliamsrDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotWilliamsrDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of Williams %R series points.
- */
- params?: PlotWilliamsrParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of Williams %R series points.
- */
- export interface PlotWilliamsrParamsOptions {
- /**
- * (Highstock) Period for Williams %R oscillator
- */
- period?: number;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotWindbarbAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotWindbarbDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotWindbarbDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotWindbarbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotWindbarbDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
- * speed and direction in one graphical form. Wind direction is given by the
- * stem direction, and wind speed by the number and shape of barbs.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotWindbarbOptions {
- /**
- * (Highcharts, Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock) Allow this series' points to be selected by
- * clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration
- * object. Please note that this option only applies to the initial
- * animation of the series itself. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following
- * properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotWindbarbAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) For some series, there is a limit that shuts down
- * initial animation by default when the total number of points in the chart
- * is too high. For example, for a column chart and its derivatives,
- * animation does not run if there is more than 250 points totally. To
- * disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts, Highstock) An additional class name to apply to the series'
- * graphical elements. This option does not replace default class names of
- * the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Disable this option to allow series rendering in
- * the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock) The main color of the series. In line type series
- * it applies to the line and the point markers unless otherwise specified.
- * In bar type series it applies to the bars unless a color is specified per
- * point. The default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock) Styled mode only. A specific color index to use
- * for the series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
- * click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock) A reserved subspace to store options and values
- * for customized functionality. Here you can add additional data for your
- * own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock) Data grouping options for the wind barbs. In
- * Highcharts, this requires the `modules/datagrouping.js` module to be
- * loaded. In Highstock, data grouping is included.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotWindbarbDataLabelsOptions|Array<PlotWindbarbDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotWindbarbDataSortingOptions);
- /**
- * (Highcharts) Depth of the columns in a 3D column chart.
- */
- depth?: number;
- /**
- * (Highcharts, Highstock) A description of the series to add to the screen
- * reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts) 3D columns only. The color of the edges. Similar to
- * `borderColor`, except it defaults to the same color as the column.
- */
- edgeColor?: ColorString;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts, Highstock) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock) General event handlers for the series items.
- * These event hooks can also be attached to the series at run time using
- * the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock) Determines whether the series should look for the
- * nearest point in both dimensions or just the x-dimension when hovering
- * the series. Defaults to `'xy'` for scatter series and `'x'` for most
- * other series. If the data has duplicate x-values, it is recommended to
- * set this to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts, Highstock) When set to `false` will prevent the series data
- * from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock) An array specifying which option maps to which
- * key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The line width of the wind barb symbols.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock) The color for the parts of the graph or points
- * that are below the threshold. Note that `zones` takes precedence over the
- * negative color. Using `negativeColor` is equivalent to applying a zone
- * with value of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The id of another series in the chart that the
- * wind barbs are projected on. When `null`, the wind symbols are drawn on
- * the X axis, but offset up or down by the `yOffset` setting.
- */
- onSeries?: (string|null);
- /**
- * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
- * and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock) Same as accessibility.pointDescriptionFormatter,
- * but for an individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, `pointInterval` defines the interval of the x values. For
- * example, if a series contains one value every decade starting from year
- * 0, set `pointInterval` to `10`. In true `datetime` axes, the
- * `pointInterval` is set in milliseconds.
- *
- * It can be also be combined with `pointIntervalUnit` to draw irregular
- * time intervals.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointInterval?: number;
- /**
- * (Highcharts, Highstock, Gantt) On datetime series, this allows for
- * setting the pointInterval to irregular time units, `day`, `month` and
- * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
- * also takes the DST crossover into consideration when dealing with local
- * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
- * months, 10 years etc.
- *
- * Please note that this options applies to the _series data_, not the
- * interval of the axis ticks, which is independent.
- */
- pointIntervalUnit?: OptionsPointIntervalUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
- * `number`.
- *
- * In a column chart, when pointPlacement is `"on"`, the point will not
- * create any padding of the X axis. In a polar column chart this means that
- * the first column points directly north. If the pointPlacement is
- * `"between"`, the columns will be laid out between ticks. This is useful
- * for example for visualising an amount between two points in time or in a
- * certain sector of a polar chart.
- *
- * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
- * is on the axis value, -0.5 is between this value and the previous, and
- * 0.5 is between this value and the next. Unlike the textual options,
- * numeric point placement options won't affect axis padding.
- *
- * Note that pointPlacement needs a pointRange to work. For column series
- * this is computed, but for line-type series it needs to be set.
- *
- * For the `xrange` series type and gantt charts, if the Y axis is a
- * category axis, the `pointPlacement` applies to the Y axis rather than the
- * (typically datetime) X axis.
- *
- * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
- */
- pointPlacement?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
- * for. This determines the width of the column. On a categorized axis, the
- * range will be 1 by default (one category unit). On linear and datetime
- * axes, the range will be computed as the distance between the two closest
- * data points.
- *
- * The default `null` means it is computed automatically, but this option
- * can be used to override the automatic value.
- *
- * This option is set by default to 1 if data sorting is enabled.
- */
- pointRange?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) If no x values are given for the points in
- * a series, pointStart defines on what value to start. For example, if a
- * series contains one yearly value starting from 1945, set pointStart to
- * 1945.
- */
- pointStart?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts, Highstock) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock) If true, a checkbox is displayed next to the
- * legend item to allow selecting the series. The state of the checkbox is
- * determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock) Whether to display this particular series or
- * series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock) If set to `true`, the accessibility module will
- * skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
- * `mouseOut` event on a series isn't triggered until the mouse moves over
- * another series, or out of the plot area. When false, the `mouseOut` event
- * on a series is triggered when the mouse leaves the area around the
- * series' graph or markers. This also implies the tooltip when not shared.
- * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
- * will be hidden when moving the mouse between series. Defaults to true for
- * line and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) The Y axis value to serve as the base for the columns, for
- * distinguishing between values above and below a threshold. If `null`, the
- * columns extend from the padding Y axis minimum.
- */
- threshold?: (number|null);
- /**
- * (Highcharts, Highstock) A configuration object for the tooltip rendering
- * of each single series. Properties are inherited from tooltip, but only
- * the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock) Pixel length of the stems.
- */
- vectorLength?: number;
- /**
- * (Highcharts, Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock) Horizontal offset from the cartesian position, in
- * pixels. When the chart is inverted, this option allows translation like
- * yOffset in non inverted charts.
- */
- xOffset?: number;
- /**
- * (Highcharts, Highstock) Vertical offset from the cartesian position, in
- * pixels. The default value makes sure the symbols don't overlap the X axis
- * when `onSeries` is `null`, and that they don't overlap the linked series
- * when `onSeries` is given.
- */
- yOffset?: number;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotWmaAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotWmaDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotWmaDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotWmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotWmaDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Weighted moving average indicator (WMA). This series requires
- * `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `wma` series are defined in plotOptions.wma.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotWmaOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotWmaAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotWmaDataLabelsOptions|Array<PlotWmaDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotWmaDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotWmaParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotWmaParamsOptions {
- /**
- * (Highstock) The point index which indicator calculations will base. For
- * example using OHLC data, index=2 means the indicator will be calculated
- * using Low values.
- */
- index?: number;
- /**
- * (Highstock) The base period for indicator calculations. This is the
- * number of data points which are taken into account for the indicator
- * calculations.
- */
- period?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotWordcloudAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts) A word cloud is a visualization of a set of words, where the
- * size and placement of a word is determined by how it is weighted.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotWordcloudOptions {
- /**
- * (Highcharts) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highcharts) If there is no space for a word on the playing field, then
- * this option will allow the playing field to be extended to fit the word.
- * If false then the word will be dropped from the visualization.
- *
- * NB! This option is currently not decided to be published in the API, and
- * is therefore marked as private.
- */
- allowExtendPlayingField?: boolean;
- /**
- * (Highcharts) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotWordcloudAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- clip?: boolean;
- /**
- * (Highcharts) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
- * from the global colors or series-specific plotOptions.column.colors
- * collections, this option determines whether the chart should receive one
- * color per series or one color per point.
- *
- * In styled mode, the `colors` or `series.colors` arrays are not supported,
- * and instead this option gives the points individual color class names on
- * the form `highcharts-color-{n}`.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When the series contains less points than
- * the crop threshold, all points are drawn, event if the points fall
- * outside the visible plot area at the current zoom. The advantage of
- * drawing all points (including markers and columns), is that animation is
- * performed on updates. On the other hand, when the series contains more
- * points than the crop threshold, the series data is cropped to only
- * contain points that fall within the plot area. The advantage of cropping
- * away invisible points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highcharts) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highcharts) 3D columns only. The width of the colored edges.
- */
- edgeWidth?: number;
- /**
- * (Highcharts) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts) An array specifying which option maps to which key in the
- * data point array. This makes it convenient to work with unstructured data
- * arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts) The word with the largest weight will have a font size equal
- * to this value. The font size of a word is the ratio between its weight
- * and the largest occuring weight, multiplied with the value of
- * maxFontSize.
- */
- maxFontSize?: number;
- /**
- * (Highcharts) A threshold determining the minimum font size that can be
- * applied to a word.
- */
- minFontSize?: number;
- /**
- * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts) This option decides which algorithm is used for placement,
- * and rotation of a word. The choice of algorith is therefore a crucial
- * part of the resulting layout of the wordcloud. It is possible for users
- * to add their own custom placement strategies for use in word cloud. Read
- * more about it in our documentation
- */
- placementStrategy?: string;
- /**
- * (Highcharts) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts) Rotation options for the words in the wordcloud.
- */
- rotation?: PlotWordcloudRotationOptions;
- /**
- * (Highcharts) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highcharts) If set to `true`, the accessibility module will skip past
- * the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts) Spiral used for placing a word after the initial position
- * experienced a collision with either another word or the borders. It is
- * possible for users to add their own custom spiralling algorithms for use
- * in word cloud. Read more about it in our documentation
- */
- spiral?: string;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts) CSS styles for the words.
- */
- style?: CSSObject;
- /**
- * (Highcharts) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Rotation options for the words in the wordcloud.
- */
- export interface PlotWordcloudRotationOptions {
- /**
- * (Highcharts) The smallest degree of rotation for a word.
- */
- from?: number;
- /**
- * (Highcharts) The number of possible orientations for a word, within the
- * range of `rotation.from` and `rotation.to`. Must be a number larger than
- * 0.
- */
- orientations?: number;
- /**
- * (Highcharts) The largest degree of rotation for a word.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the animation
- * parameter under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotXrangeAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotXrangeDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotXrangeDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotXrangeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
- * has one state by default, the `default` state.
- */
- export interface PlotXrangeDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box default
- * state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the X
- * axis, typically time intervals with a start and end date.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `xrange` series are defined in plotOptions.xrange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotXrangeOptions {
- /**
- * (Highcharts, Highstock, Gantt) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highmaps) Whether all areas of the map defined in `mapData` should be
- * rendered. If `true`, areas which don't correspond to a data point, are
- * rendered as `null` points. If `false`, those areas are skipped.
- */
- allAreas?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Allow this series' points to be selected
- * by clicking on the graphic (columns, point markers, pie slices, map areas
- * etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
- * when a series is displayed. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation of the series itself. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotXrangeAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) For some series, there is a limit that
- * shuts down initial animation by default when the total number of points
- * in the chart is too high. For example, for a column chart and its
- * derivatives, animation does not run if there is more than 250 points
- * totally. To disable this cap, set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highcharts, Highstock, Gantt) The color of the border surrounding each
- * column or bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) The corner radius of the border
- * surrounding each column or bar.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width of the border surrounding each
- * column or bar. Defaults to `1` when there is room for a border, but to
- * `0` when the columns are so dense that a border would cover the next
- * column.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
- * the category, ignoring null or missing points. When `false`, space will
- * be reserved for null or missing points.
- */
- centerInCategory?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) An additional class name to apply to the
- * series' graphical elements. This option does not replace default class
- * names of the graphical element.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) Disable this option to allow series
- * rendering in the whole plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) The main color of the series. In line type
- * series it applies to the line and the point markers unless otherwise
- * specified. In bar type series it applies to the bars unless a color is
- * specified per point. The default value is pulled from the
- * `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
- * this number defines which colorAxis the particular series is connected
- * to. It refers to either the axis id or the index of the axis in the
- * colorAxis array, with 0 being the first. Set this option to false to
- * prevent a series from connecting to the default color axis.
- *
- * Since v7.2.0 the option can also be an axis id or an axis index instead
- * of a boolean flag.
- */
- colorAxis?: (boolean|number|string);
- /**
- * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
- * all points of the same Y-axis category the same color.
- */
- colorByPoint?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Styled mode only. A specific color index
- * to use for the series, so its graphic representations are given the class
- * name `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highcharts, Highstock, Gantt) A series specific or series type specific
- * color set to apply instead of the global colors when colorByPoint is
- * true.
- */
- colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) You can set the cursor to "pointer" if you
- * have click events attached to the series, to signal to the user that the
- * points and lines can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
- * values for customized functionality. Here you can add additional data for
- * your own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock, Gantt) Name of the dash style to use for the
- * graph, or for some series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotXrangeDataLabelsOptions|Array<PlotXrangeDataLabelsOptions>);
- /**
- * (Highcharts, Highstock, Gantt) A description of the series to add to the
- * screen reader information about the series.
- */
- description?: string;
- /**
- * (Highcharts, Highstock, Gantt) The draggable-points module allows points
- * to be moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three
- * events, point.dragStart, point.drag and point.drop.
- */
- dragDrop?: SeriesDragDropOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the mouse tracking for a
- * specific series. This includes point tooltips and click events on graphs
- * and points. For large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) General event handlers for the series
- * items. These event hooks can also be attached to the series at run time
- * using the `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
- * let them render independent of each other. Non-grouped columns will be
- * laid out individually and overlap each other.
- */
- grouping?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
- * axis units.
- */
- groupPadding?: number;
- /**
- * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
- */
- groupZPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) When set to `false` will prevent the
- * series data from being included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highmaps) What property to join the `mapData` to the value data. For
- * example, if joinBy is "code", the mapData items with a specific code is
- * merged into the data with the same code. For maps loaded from GeoJSON,
- * the keys may be held in each point's `properties` object.
- *
- * The joinBy option can also be an array of two values, where the first
- * points to a key in the `mapData`, and the second points to another key in
- * the `data`.
- *
- * When joinBy is `null`, the map items are joined by their position in the
- * array, which performs much better in maps with many data points. This is
- * the recommended option if you are printing more than a thousand data
- * points and have a backend that can preprocess the data into a parallel
- * array of the mapData.
- */
- joinBy?: (string|Array<string>);
- /**
- * (Highcharts, Highstock, Gantt) An array specifying which option maps to
- * which key in the data point array. This makes it convenient to work with
- * unstructured data arrays from different sources.
- */
- keys?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The id of another series to link to.
- * Additionally, the value can be ":previous" to link to the previous
- * series. When two series are linked, only the first one appears in the
- * legend. Toggling the visibility of this also toggles the linked series.
- *
- * If master series uses data sorting and linked series does not have its
- * own sorting definition, the linked series will be sorted in the same
- * order as the master one.
- */
- linkedTo?: string;
- /**
- * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
- * column, translated to the height of a bar in a bar chart. This prevents
- * the columns from becoming too wide when there is a small number of points
- * in the chart.
- */
- maxPointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The minimal height for a column or width
- * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
- * to zero) point, set the minimal point length to a pixel value like 3\. In
- * stacked column charts, minPointLength might not be respected for tightly
- * packed values.
- */
- minPointLength?: number;
- /**
- * (Highstock) Options for the corresponding navigator series if
- * `showInNavigator` is `true` for this series. Available options are the
- * same as any series, documented at plotOptions and series.
- *
- * These options are merged with options in navigator.series, and will take
- * precedence if the same option is defined both places.
- */
- navigatorOptions?: PlotSeriesOptions;
- /**
- * (Highcharts, Highstock, Gantt) Opacity of a series parts: line, fill
- * (e.g. area) and dataLabels.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
- * used to visualize how much of a task is performed. The partial fill
- * object can be set either on series or point level.
- */
- partialFill?: PlotXrangePartialFillOptions;
- /**
- * (Highcharts, Highstock, Gantt) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highcharts, Highstock, Gantt) Same as
- * accessibility.pointDescriptionFormatter, but for an individual series.
- * Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
- * axis units.
- */
- pointPadding?: number;
- pointRange?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * each column or bar point. When `null`, the width is calculated from the
- * `pointPadding` and `groupPadding`. The width effects the dimension that
- * is not based on the point value. For column series it is the hoizontal
- * length and for bar series it is the vertical length.
- */
- pointWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Whether to select the series initially. If
- * `showCheckbox` is true, the checkbox next to the series name in the
- * legend will be checked for a selected series.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to apply a drop shadow to the
- * graph line. Since 2.3 the shadow can be an object configuration
- * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Gantt) If true, a checkbox is displayed next to
- * the legend item to allow selecting the series. The state of the checkbox
- * is determined by the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to display this particular series
- * or series type in the legend. Standalone series are shown in legend by
- * default, and linked series are not. Since v7.2.0 it is possible to show
- * series that use colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) Whether or not to show the series in the navigator. Takes
- * precedence over navigator.baseSeries if defined.
- */
- showInNavigator?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) If set to `true`, the accessibility module
- * will skip past the points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Sticky tracking of mouse events. When
- * true, the `mouseOut` event on a series isn't triggered until the mouse
- * moves over another series, or out of the plot area. When false, the
- * `mouseOut` event on a series is triggered when the mouse leaves the area
- * around the series' graph or markers. This also implies the tooltip when
- * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
- * the tooltip will be hidden when moving the mouse between series. Defaults
- * to true for line and area type series, but to false for columns, pies
- * etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A configuration object for the tooltip
- * rendering of each single series. Properties are inherited from tooltip,
- * but only the following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
- * to visualize how much of a task is performed. The partial fill object can be
- * set either on series or point level.
- */
- export interface PlotXrangePartialFillOptions {
- /**
- * (Highcharts, Highstock, Gantt) The fill color to be used for partial
- * fills. Defaults to a darker shade of the point color.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- }
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object. Please
- * note that this option only applies to the initial animation of the series
- * itself. For other animations, see chart.animation and the animation parameter
- * under the API methods. The following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the `Math`
- * object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for several
- * chart types.
- */
- export interface PlotZigzagAnimationOptions {
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface PlotZigzagDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface PlotZigzagDataLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotZigzagDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- export interface PlotZigzagDataSortingOptions {
- /**
- * (Highcharts, Highstock) Enable or disable data sorting for the series.
- * Use xAxis.reversed to change the sorting order.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Whether to allow matching points by name in an
- * update. If this option is disabled, points will be matched by order.
- */
- matchByName?: boolean;
- /**
- * (Highcharts, Highstock) Determines what data value should be used to sort
- * by.
- */
- sortKey?: string;
- }
- /**
- * (Highstock) Zig Zag indicator.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- */
- export interface PlotZigzagOptions {
- /**
- * (Highstock) Accessibility options for a series.
- */
- accessibility?: SeriesAccessibilityOptionsObject;
- /**
- * (Highstock) Allow this series' points to be selected by clicking on the
- * graphic (columns, point markers, pie slices, map areas etc).
- *
- * The selected points can be handled by point select and unselect events,
- * or collectively by the getSelectedPoints function.
- *
- * And alternative way of selecting points is through dragging.
- */
- allowPointSelect?: boolean;
- /**
- * (Highstock) Enable or disable the initial animation when a series is
- * displayed. The animation can also be set as a configuration object.
- * Please note that this option only applies to the initial animation of the
- * series itself. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- *
- * - `duration`: The duration of the animation in milliseconds.
- *
- * - `easing`: Can be a string reference to an easing function set on the
- * `Math` object or a function. See the _Custom easing function_ demo below.
- *
- * Due to poor performance, animation is disabled in old IE browsers for
- * several chart types.
- */
- animation?: (boolean|PlotZigzagAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) For some series, there is a limit that shuts down initial
- * animation by default when the total number of points in the chart is too
- * high. For example, for a column chart and its derivatives, animation does
- * not run if there is more than 250 points totally. To disable this cap,
- * set `animationLimit` to `Infinity`.
- */
- animationLimit?: number;
- /**
- * (Highstock) Sets the color blending in the boost module.
- */
- boostBlending?: OptionsBoostBlendingValue;
- /**
- * (Highstock) Set the point threshold for when a series should enter boost
- * mode.
- *
- * Setting it to e.g. 2000 will cause the series to enter boost mode when
- * there are 2000 or more points in the series.
- *
- * To disable boosting on the series, set the `boostThreshold` to 0. Setting
- * it to 1 will force boosting.
- *
- * Note that the cropThreshold also affects this setting. When zooming in on
- * a series that has fewer points than the `cropThreshold`, all points are
- * rendered although outside the visible plot area, and the `boostThreshold`
- * won't take effect.
- */
- boostThreshold?: number;
- /**
- * (Highmaps) The border color of the map areas.
- *
- * In styled mode, the border stroke is given in the `.highcharts-point`
- * class.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of each map area.
- *
- * In styled mode, the border stroke width is given in the
- * `.highcharts-point` class.
- */
- borderWidth?: number;
- /**
- * (Highstock) An additional class name to apply to the series' graphical
- * elements. This option does not replace default class names of the
- * graphical element.
- */
- className?: string;
- /**
- * (Highstock) Disable this option to allow series rendering in the whole
- * plotting area.
- *
- * **Note:** Clipping should be always enabled when chart.zoomType is set
- */
- clip?: boolean;
- /**
- * (Highstock) The main color of the series. In line type series it applies
- * to the line and the point markers unless otherwise specified. In bar type
- * series it applies to the bars unless a color is specified per point. The
- * default value is pulled from the `options.colors` array.
- *
- * In styled mode, the color can be defined by the colorIndex option. Also,
- * the series color can be set with the `.highcharts-series`,
- * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
- * `.highcharts-series-{n}` class, or individual classes given by the
- * `className` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Styled mode only. A specific color index to use for the
- * series, so its graphic representations are given the class name
- * `highcharts-color-{n}`.
- */
- colorIndex?: number;
- /**
- * (Highcharts, Highstock, Highmaps) Determines what data value should be
- * used to calculate point color if `colorAxis` is used. Requires to set
- * `min` and `max` if some custom point property is used or if approximation
- * for data grouping is set to `'sum'`.
- */
- colorKey?: string;
- /**
- * (Highstock) Compare the values of the series against the first non-null,
- * non- zero value in the visible range. The y axis will show percentage or
- * absolute change depending on whether `compare` is set to `"percent"` or
- * `"value"`. When this is applied to multiple series, it allows comparing
- * the development of the series against each other. Adds a `change` field
- * to every point object.
- */
- compare?: string;
- /**
- * (Highstock) When compare is `percent`, this option dictates whether to
- * use 0 or 100 as the base of comparison.
- */
- compareBase?: (0|100);
- /**
- * (Highstock) Defines if comparison should start from the first point
- * within the visible range or should start from the first point **before**
- * the range.
- *
- * In other words, this flag determines if first point within the visible
- * range will have 0% (`compareStart=true`) or should have been already
- * calculated according to the previous point (`compareStart=false`).
- */
- compareStart?: boolean;
- /**
- * (Highstock) Whether to compare indicator to the main series values or
- * indicator values.
- */
- compareToMain?: boolean;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- connectors?: SeriesConnectorsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When true, each point or column edge is
- * rounded to its nearest pixel in order to render sharp on screen. In some
- * cases, when there are a lot of densely packed columns, this leads to
- * visible difference in column widths or distance between columns. In these
- * cases, setting `crisp` to `false` may look better, even though each
- * column is rendered blurry.
- */
- crisp?: boolean;
- /**
- * (Highcharts, Highstock) When the series contains less points than the
- * crop threshold, all points are drawn, even if the points fall outside the
- * visible plot area at the current zoom. The advantage of drawing all
- * points (including markers and columns), is that animation is performed on
- * updates. On the other hand, when the series contains more points than the
- * crop threshold, the series data is cropped to only contain points that
- * fall within the plot area. The advantage of cropping away invisible
- * points is to increase performance on large series.
- */
- cropThreshold?: number;
- /**
- * (Highstock) You can set the cursor to "pointer" if you have click events
- * attached to the series, to signal to the user that the points and lines
- * can be clicked.
- *
- * In styled mode, the series cursor can be set with the same classes as
- * listed under series.color.
- */
- cursor?: (string|CursorValue);
- /**
- * (Highstock) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highstock) Name of the dash style to use for the graph, or for some
- * series types the outline of each shape.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under series.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highstock) Data grouping is the concept of sampling the data values into
- * larger blocks in order to ease readability and increase performance of
- * the JavaScript charts. Highstock by default applies data grouping when
- * the points become closer than a certain pixel value, determined by the
- * `groupPixelWidth` option.
- *
- * If data grouping is applied, the grouping information of grouped points
- * can be read from the Point.dataGroup. If point options other than the
- * data itself are set, for example `name` or `color` or custom properties,
- * the grouping logic doesn't know how to group it. In this case the options
- * of the first point instance are copied over to the group point. This can
- * be altered through a custom `approximation` callback function.
- */
- dataGrouping?: DataGroupingOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
- * labels, appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names
- * (see example).
- */
- dataLabels?: (PlotZigzagDataLabelsOptions|Array<PlotZigzagDataLabelsOptions>);
- /**
- * (Highcharts, Highstock) Options for the series data sorting.
- */
- dataSorting?: (DataSortingOptionsObject|PlotZigzagDataSortingOptions);
- /**
- * (Highstock) A description of the series to add to the screen reader
- * information about the series.
- */
- description?: string;
- /**
- * (Highstock) Enable or disable the mouse tracking for a specific series.
- * This includes point tooltips and click events on graphs and points. For
- * large datasets it improves performance.
- */
- enableMouseTracking?: boolean;
- /**
- * (Highstock) General event handlers for the series items. These event
- * hooks can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- events?: SeriesEventsOptionsObject;
- /**
- * (Highstock) Determines whether the series should look for the nearest
- * point in both dimensions or just the x-dimension when hovering the
- * series. Defaults to `'xy'` for scatter series and `'x'` for most other
- * series. If the data has duplicate x-values, it is recommended to set this
- * to `'xy'` to allow hovering over all points.
- *
- * Applies only to series types using nearest neighbor search (not direct
- * hover) for tooltip.
- */
- findNearestPointBy?: OptionsFindNearestPointByValue;
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
- * chart width or only the zoomed area when zooming in on parts of the X
- * axis. By default, the Y axis adjusts to the min and max of the visible
- * data. Cartesian series only.
- */
- getExtremesFromAll?: boolean;
- /**
- * (Highstock) When set to `false` will prevent the series data from being
- * included in any form of data export.
- *
- * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
- * `includeInCSVExport`.
- */
- includeInDataExport?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The
- * goal of this feature is to make the chart more easily readable, like if a
- * human designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- label?: SeriesLabelOptionsObject;
- /**
- * (Highstock) The line marks the last price from all points.
- */
- lastPrice?: SeriesLastPriceOptionsObject;
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
- /**
- * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
- * `stroke-linejoin` of a line graph. Round means that lines are rounded in
- * the ends and bends.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
- * based on. Required for this indicator.
- */
- linkedTo?: string;
- /**
- * (Highstock) Options for the point markers of line-like series. Properties
- * like `fillColor`, `lineColor` and `lineWidth` define the visual
- * appearance of the markers. Other series types, like column series, don't
- * have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highstock) The name of the series as shown in the legend, tooltip etc.
- * If not set, it will be based on a technical indicator type and default
- * params.
- */
- name?: string;
- /**
- * (Highstock) The color for the parts of the graph or points that are below
- * the threshold. Note that `zones` takes precedence over the negative
- * color. Using `negativeColor` is equivalent to applying a zone with value
- * of 0.
- */
- negativeColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
- * dataLabels.
- */
- opacity?: number;
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- params?: PlotZigzagParamsOptions;
- /**
- * (Highstock) Properties for each single point.
- */
- point?: PlotSeriesPointOptions;
- /**
- * (Highstock) Same as accessibility.pointDescriptionFormatter, but for an
- * individual series. Overrides the chart wide configuration.
- */
- pointDescriptionFormatter?: Function;
- /**
- * (Highstock) Whether to select the series initially. If `showCheckbox` is
- * true, the checkbox next to the series name in the legend will be checked
- * for a selected series.
- */
- selected?: boolean;
- /**
- * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
- * the shadow can be an object configuration containing `color`, `offsetX`,
- * `offsetY`, `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highstock) If true, a checkbox is displayed next to the legend item to
- * allow selecting the series. The state of the checkbox is determined by
- * the `selected` option.
- */
- showCheckbox?: boolean;
- /**
- * (Highstock) Whether to display this particular series or series type in
- * the legend. Standalone series are shown in legend by default, and linked
- * series are not. Since v7.2.0 it is possible to show series that use
- * colorAxis by setting this option to `true`.
- */
- showInLegend?: boolean;
- /**
- * (Highstock) If set to `true`, the accessibility module will skip past the
- * points in this series for keyboard navigation.
- */
- skipKeyboardNavigation?: boolean;
- /**
- * (Highcharts, Highstock) When this is true, the series will not cause the
- * Y axis to cross the zero plane (or threshold option) unless the data
- * actually crosses the plane.
- *
- * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
- * make the Y axis show negative values according to the `minPadding`
- * option. If `softThreshold` is `true`, the Y axis starts at 0.
- */
- softThreshold?: boolean;
- states?: SeriesStatesOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
- * event on a series isn't triggered until the mouse moves over another
- * series, or out of the plot area. When false, the `mouseOut` event on a
- * series is triggered when the mouse leaves the area around the series'
- * graph or markers. This also implies the tooltip when not shared. When
- * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
- * be hidden when moving the mouse between series. Defaults to true for line
- * and area type series, but to false for columns, pies etc.
- *
- * **Note:** The boost module will force this option because of technical
- * limitations.
- */
- stickyTracking?: boolean;
- /**
- * (Highcharts, Highstock) The threshold, also called zero level or base
- * level. For line type series this is only used in conjunction with
- * negativeColor.
- */
- threshold?: number;
- /**
- * (Highstock) A configuration object for the tooltip rendering of each
- * single series. Properties are inherited from tooltip, but only the
- * following properties can be defined on a series level.
- */
- tooltip?: SeriesTooltipOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When a series contains a data array that
- * is longer than this, only one dimensional arrays of numbers, or two
- * dimensional arrays with x and y values are allowed. Also, only the first
- * point is tested, and the rest are assumed to be the same format. This
- * saves expensive data checking and indexing in long series. Set it to `0`
- * disable.
- *
- * Note: In boost mode turbo threshold is forced. Only array of numbers or
- * two dimensional arrays are allowed.
- */
- turboThreshold?: number;
- /**
- * (Highstock) Set the initial visibility of the series.
- */
- visible?: boolean;
- /**
- * (Highmaps) Define the z index of the series.
- */
- zIndex?: number;
- /**
- * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
- */
- zoneAxis?: string;
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones
- * can be applied to the X axis, Y axis or Z axis for bubbles, according to
- * the `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the
- * `.highcharts-zone-{n}` class, or custom classed from the `className`
- * option (view live demo).
- */
- zones?: Array<SeriesZonesOptionsObject>;
- }
- /**
- * (Highstock) Paramters used in calculation of regression series' points.
- */
- export interface PlotZigzagParamsOptions {
- /**
- * (Highstock) The threshold for the value change.
- *
- * For example deviation=1 means the indicator will ignore all price
- * movements less than 1%.
- */
- deviation?: number;
- /**
- * (Highstock) The point index which indicator calculations will base - high
- * value.
- *
- * For example using OHLC data, index=1 means the indicator will be
- * calculated using High values.
- */
- highIndex?: number;
- /**
- * (Highstock) The point index which indicator calculations will base - low
- * value.
- *
- * For example using OHLC data, index=2 means the indicator will be
- * calculated using Low values.
- */
- lowIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
- */
- export interface PointAccessibilityOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) Provide a description of the data point,
- * announced to screen readers.
- */
- description?: string;
- }
- /**
- * Common information for a click event on a series point.
- */
- export interface PointClickEventObject extends PointerEventObject {
- /**
- * Clicked point.
- */
- point: Point;
- }
- /**
- * Contains information about a points new values.
- */
- export interface PointDragDropObject {
- /**
- * New values.
- */
- newValues: Dictionary<number>;
- /**
- * Updated point.
- */
- point: Point;
- }
- /**
- * Contains common information for a drag event on series points.
- */
- export interface PointDragEventObject {
- /**
- * New points during drag.
- */
- newPoints: Dictionary<PointDragDropObject>;
- /**
- * Original data.
- */
- origin: DragDropPositionObject;
- /**
- * Prevent default drag action.
- */
- preventDefault: Function;
- /**
- * Target point that caused the event.
- */
- target: Point;
- /**
- * Event type.
- */
- type: "drag";
- }
- /**
- * Contains common information for a drag event on series point.
- */
- export interface PointDragStartEventObject extends MouseEvent {
- /**
- * Data property being dragged.
- */
- updateProp?: string;
- }
- /**
- * Contains common information for a drop event on series points.
- */
- export interface PointDropEventObject {
- /**
- * New point after drag if only a single one.
- */
- newPoint?: PointDragDropObject;
- /**
- * New point id after drag if only a single one.
- */
- newPointId?: string;
- /**
- * New points after drop.
- */
- newPoints: Dictionary<PointDragDropObject>;
- /**
- * Number of new points.
- */
- numNewPoints: number;
- /**
- * Original data.
- */
- origin: DragDropPositionObject;
- /**
- * Prevent default drop action.
- */
- preventDefault: Function;
- /**
- * Target point that caused the event.
- */
- target: Point;
- /**
- * Event type.
- */
- type: "drop";
- }
- /**
- * One position in relation to an axis.
- */
- export interface PointerAxisCoordinateObject {
- /**
- * Related axis.
- */
- axis: Axis;
- /**
- * Axis value.
- */
- value: number;
- }
- /**
- * Positions in terms of axis values.
- */
- export interface PointerAxisCoordinatesObject {
- /**
- * Positions on the x-axis.
- */
- xAxis: Array<PointerAxisCoordinateObject>;
- /**
- * Positions on the y-axis.
- */
- yAxis: Array<PointerAxisCoordinateObject>;
- }
- /**
- * Pointer coordinates.
- */
- export interface PointerCoordinatesObject {
- chartX: number;
- chartY: number;
- }
- /**
- * A native browser mouse or touch event, extended with position information
- * relative to the Chart.container.
- */
- export interface PointerEventObject extends PointerEvent {
- /**
- * The X coordinate of the pointer interaction relative to the chart.
- */
- chartX: number;
- /**
- * The Y coordinate of the pointer interaction relative to the chart.
- */
- chartY: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) The individual point events.
- */
- export interface PointEventsOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) Fires when a point is clicked. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * If the `series.allowPointSelect` option is true, the default action for
- * the point's click event is to toggle the point's select state. Returning
- * `false` cancels this action.
- */
- click?: PointClickCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Callback that fires while dragging a
- * point. The mouse event is passed in as parameter. The original data can
- * be accessed from `e.origin`, and the new point values can be accessed
- * from `e.newPoints`. If there is only a single point being updated, it can
- * be accessed from `e.newPoint` for simplicity, and its ID can be accessed
- * from `e.newPointId`. The `this` context is the point being dragged. To
- * stop the default drag action, return false. See drag and drop options.
- */
- drag?: PointDragCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Callback that fires when starting to drag
- * a point. The mouse event object is passed in as an argument. If a drag
- * handle is used, `e.updateProp` is set to the data property being dragged.
- * The `this` context is the point. See drag and drop options.
- */
- dragStart?: PointDragStartCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Callback that fires when the point is
- * dropped. The parameters passed are the same as for drag. To stop the
- * default drop action, return false. See drag and drop options.
- */
- drop?: PointDropCallbackFunction;
- /**
- * (Highcharts) Fires when the legend item belonging to the pie point
- * (slice) is clicked. The `this` keyword refers to the point itself. One
- * parameter, `event`, is passed to the function, containing common event
- * information. The default action is to toggle the visibility of the point.
- * This can be prevented by calling `event.preventDefault()`.
- */
- legendItemClick?: PointLegendItemClickCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Fires when the mouse leaves the area close
- * to the point. One parameter, `event`, is passed to the function,
- * containing common event information.
- */
- mouseOut?: PointMouseOutCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Fires when the mouse enters the area close
- * to the point. One parameter, `event`, is passed to the function,
- * containing common event information.
- */
- mouseOver?: PointMouseOverCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Fires when the point is removed using the
- * `.remove()` method. One parameter, `event`, is passed to the function.
- * Returning `false` cancels the operation.
- */
- remove?: PointRemoveCallbackFunction;
- /**
- * Fires when the point is selected either programmatically or following a
- * click on the point. One parameter, `event`, is passed to the function.
- * Returning `false` cancels the operation.
- */
- select?: PointSelectCallbackFunction;
- /**
- * Fires when the point is unselected either programmatically or following a
- * click on the point. One parameter, `event`, is passed to the function.
- * Returning `false` cancels the operation.
- */
- unselect?: PointUnselectCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) Fires when the point is updated
- * programmatically through the `.update()` method. One parameter, `event`,
- * is passed to the function. The new point options can be accessed through
- * `event.options`. Returning `false` cancels the operation.
- */
- update?: PointUpdateCallbackFunction;
- }
- /**
- * Information about the select/unselect event.
- */
- export interface PointInteractionEventObject extends Event {
- accumulate: boolean;
- }
- /**
- * Configuration hash for the data label and tooltip formatters.
- */
- export interface PointLabelObject {
- /**
- * The point's current color.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * The point's current color index, used in styled mode instead of `color`.
- * The color index is inserted in class names used for styling.
- */
- colorIndex: number;
- /**
- * The name of the related point.
- */
- key?: string;
- /**
- * The percentage for related points in a stacked series or pies.
- */
- percentage: number;
- /**
- * The related point. The point name, if defined, is available through
- * `this.point.name`.
- */
- point: Point;
- /**
- * The related series. The series name is available through
- * `this.series.name`.
- */
- series: Series;
- /**
- * The total of values in either a stack for stacked series, or a pie in a
- * pie series.
- */
- total?: number;
- /**
- * For categorized axes this property holds the category name for the point.
- * For other axes it holds the X value.
- */
- x?: (number|string);
- /**
- * The y value of the point.
- */
- y?: number;
- }
- /**
- * Information about the legend click event.
- */
- export interface PointLegendItemClickEventObject {
- /**
- * Related browser event.
- */
- browserEvent: PointerEvent;
- /**
- * Prevent the default action of toggle the visibility of the point.
- */
- preventDefault: Function;
- /**
- * Related point.
- */
- target: Point;
- /**
- * Event type.
- */
- type: "legendItemClick";
- }
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like series.
- */
- export interface PointMarkerOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps) Animation for the marker as it moves
- * between values. Set to `false` to disable animation. Defaults to `{
- * duration: 50 }`.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps) The color of the marker.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Enable or disable the point marker. If
- * `undefined`, the markers are hidden when the data is dense, and shown for
- * more widespread data points.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) The threshold for how dense the point markers
- * should be before they are hidden, given that `enabled` is not defined.
- * The number indicates the horizontal distance between the two closest
- * points in the series, as multiples of the `marker.radius`. In other
- * words, the default value of 2 means points are hidden if overlapping
- * horizontally.
- */
- enabledThreshold?: number;
- /**
- * (Highcharts, Highstock) The fill color of the point marker. When
- * `undefined`, the series' or point's color is used.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The fill opacity of the bubble markers.
- */
- fillOpacity?: number;
- /**
- * (Highcharts, Highstock) Image markers only. Set the image width
- * explicitly. When using this option, a `width` must also be set.
- */
- height?: number;
- /**
- * (Highcharts, Highstock) The color of the point marker's outline. When
- * `undefined`, the series' or point's color is used.
- */
- lineColor?: (string|ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The width of the point marker's outline.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock) The radius of the point marker.
- */
- radius?: number;
- /**
- * (Highcharts, Highstock) States for a single point marker.
- */
- states?: PointStatesOptionsObject;
- /**
- * (Highcharts, Highstock) A predefined shape or symbol for the marker. When
- * undefined, the symbol is pulled from options.symbols. Other possible
- * values are `'circle'`, `'square'`,`'diamond'`, `'triangle'` and
- * `'triangle-down'`.
- *
- * Additionally, the URL to a graphic can be given on this form:
- * `'url(graphic.png)'`. Note that for the image to be applied to exported
- * charts, its URL needs to be accessible by the export server.
- *
- * Custom callbacks for symbol path generation can also be added to
- * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
- * its method name, as shown in the demo.
- */
- symbol?: (string|SymbolKeyValue);
- /**
- * (Highcharts, Highstock) Image markers only. Set the image width
- * explicitly. When using this option, a `height` must also be set.
- */
- width?: number;
- }
- /**
- * The generic point options for all series.
- *
- * In TypeScript you have to extend `PointOptionsObject` with an additional
- * declaration to allow custom data options: (see online documentation for
- * example)
- */
- export interface PointOptionsObject {
- /**
- * (Highcharts) Accessibility options for a data point.
- */
- accessibility?: PointAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock) The color of the border surrounding the column or
- * bar.
- *
- * In styled mode, the border stroke can be set with the `.highcharts-point`
- * rule.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The width of the border surrounding the column or
- * bar.
- *
- * In styled mode, the stroke width can be set with the `.highcharts-point`
- * rule.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The dash style of the box.
- */
- boxDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Gantt) An additional, individual class name for the data
- * point's graphic representation.
- */
- className?: string;
- /**
- * (Highstock) The closing value of each data point.
- */
- close?: number;
- /**
- * (Highcharts, Highstock, Gantt) Individual color for the point. By default
- * the color is pulled from the global `colors` array.
- *
- * In styled mode, the `color` option doesn't take effect. Instead, use
- * `colorIndex`.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Gantt) A specific color index to use for the point, so its
- * graphic representations are given the class name `highcharts-color-{n}`.
- * In styled mode this will change the color of the graphic. In non-styled
- * mode, the color by is set by the `fill` attribute, so the change in class
- * name won't have a visual effect by default.
- */
- colorIndex?: number;
- /**
- * (Highcharts) Serves a purpose only if a `colorAxis` object is defined in
- * the chart options. This value will decide which color the point gets from
- * the scale of the colorAxis.
- */
- colorValue?: number;
- /**
- * (Highcharts, Highstock) Color of the line that connects the dumbbell
- * point's values. By default it is the series' color.
- */
- connectorColor?: string;
- /**
- * (Highcharts, Highstock) Pixel width of the line that connects the
- * dumbbell point's values.
- */
- connectorWidth?: number;
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) A name for the dash style to use for the column or bar.
- * Overrides dashStyle on the series.
- *
- * In styled mode, the stroke dash-array can be set with the same classes as
- * listed under data.color.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) Individual data label for each point. The
- * options are the same as the ones for plotOptions.series.dataLabels.
- */
- dataLabels?: (DataLabelsOptions|DataLabelsOptions|SeriesNetworkgraphDataLabelsOptionsObject|SeriesPackedBubbleDataLabelsOptionsObject|SeriesPieDataLabelsOptionsObject|
- SeriesSunburstDataLabelsOptionsObject|Array<DataLabelsOptions>|Array<SeriesNetworkgraphDataLabelsOptionsObject>|Array<SeriesPackedBubbleDataLabelsOptionsObject>|
- Array<SeriesSunburstDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the point to add to the screen reader
- * information about the point.
- */
- description?: string;
- /**
- * (Highcharts, Highstock) The wind direction in degrees, where 0 is north
- * (pointing towards south).
- */
- direction?: number;
- /**
- * (Highcharts) Point specific options for the draggable-points module.
- * Overrides options on `series.dragDrop`.
- */
- dragDrop?: SeriesLineDataDragDropOptions;
- /**
- * (Highcharts) The `id` of a series in the drilldown.series array to use
- * for a drilldown for this point.
- */
- drilldown?: string;
- /**
- * (Highcharts, Highstock, Gantt) The individual point events.
- */
- events?: PointEventsOptionsObject;
- /**
- * (Highstock) The fill color of an individual flag. By default it inherits
- * from the series color.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The node that the link runs from.
- */
- from?: string;
- /**
- * (Highcharts, Highstock) The high or maximum value for each data point.
- */
- high?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id for the point. This can be used
- * after render time to get a pointer to the point object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts) The inner radius of an individual point in a solid gauge.
- * Can be given as a number (pixels) or percentage string.
- */
- innerRadius?: (number|string);
- /**
- * (Highcharts) When this property is true, the points acts as a summary
- * column for the values added or substracted since the last intermediate
- * sum, or since the start of the series. The `y` value is ignored.
- */
- isIntermediateSum?: boolean;
- /**
- * (Highcharts) When this property is true, the point display the total sum
- * across the entire series. The `y` value is ignored.
- */
- isSum?: boolean;
- /**
- * (Highcharts) The label of event.
- */
- label?: string;
- /**
- * (Highcharts) The rank for this point's data label in case of collision.
- * If two data labels are about to overlap, only the one with the highest
- * `labelrank` will be drawn.
- */
- labelrank?: number;
- /**
- * (Highcharts) The sequential index of the data point in the legend.
- */
- legendIndex?: number;
- /**
- * (Highcharts, Highstock) The length of the vector. The rendered length
- * will relate to the `vectorLength` setting.
- */
- length?: number;
- /**
- * (Highcharts, Highstock) The low or minimum value for each data point.
- */
- low?: number;
- /**
- * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
- */
- lowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts) The median for each data point. This is drawn as a line
- * through the middle area of the box.
- */
- median?: number;
- /**
- * (Highcharts) The dash style of the median.
- */
- medianDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The name of the point as shown in the legend, tooltip,
- * dataLabels, etc.
- */
- name?: (number|string);
- /**
- * (Highstock) The opening value of each data point.
- */
- open?: number;
- /**
- * (Highcharts) Only for treemap. Use this option to build a tree structure.
- * The value should be the id of the point which is the parent. If no points
- * has a matching id, or this option is undefined, then the parent will be
- * set to the root.
- */
- parent?: string;
- /**
- * (Highcharts, Highmaps) Point padding for a single point.
- */
- pointPadding?: number;
- /**
- * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
- * the column or bar. Overrides pointWidth on the series. The width effects
- * the dimension that is not based on the point value.
- */
- pointWidth?: number;
- /**
- * (Highcharts) The lower quartile for each data point. This is the bottom
- * of the box.
- */
- q1?: number;
- /**
- * (Highcharts) The higher quartile for each data point. This is the top of
- * the box.
- */
- q3?: number;
- /**
- * (Highcharts) The outer radius of an individual point in a solid gauge.
- * Can be given as a number (pixels) or percentage string.
- */
- radius?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) Whether the data point is selected
- * initially.
- */
- selected?: boolean;
- /**
- * (Highcharts) The set or sets the options will be applied to. If a single
- * entry is defined, then it will create a new set. If more than one entry
- * is defined, then it will define the overlap between the sets in the
- * array.
- */
- sets?: Array<string>;
- /**
- * (Highcharts) Whether to display a slice offset from the center.
- */
- sliced?: boolean;
- /**
- * (Highcharts) The dash style of the stem.
- */
- stemDashStyle?: DashStyleValue;
- /**
- * (Highcharts) The target value of a point.
- */
- target?: number;
- /**
- * (Highcharts) Individual target options for each point.
- */
- targetOptions?: SeriesBulletDataTargetOptions;
- /**
- * (Highstock) The longer text to be shown in the flag's tooltip.
- */
- text?: string;
- /**
- * (Highstock) The short text to be shown on the flag.
- */
- title?: string;
- /**
- * (Highcharts) The node that the link runs to.
- */
- to?: string;
- /**
- * (Highcharts, Highstock) The wind speed in meters per second.
- */
- value?: (number|null);
- /**
- * (Highcharts) The weighting of a word. The weight decides the relative
- * size of a word compared to the rest of the collection.
- */
- weight?: number;
- /**
- * (Highcharts) The dash style of the whiskers.
- */
- whiskerDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock) The x value of the point. For datetime axes, the
- * X value is the timestamp in milliseconds since 1970.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) The y value of the point.
- */
- y?: (number|null);
- /**
- * (Highcharts) The relative width for each column. On a category axis, the
- * widths are distributed so they sum up to the X axis length. On linear and
- * datetime axes, the columns will be laid out from the X value and Z units
- * along the axis.
- */
- z?: (number|null);
- }
- /**
- * (Highcharts, Highstock) The hover state for a single point marker.
- */
- export interface PointStatesHoverOptionsObject {
- /**
- * (Highcharts, Highstock) Animation when hovering over the marker.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) Enable or disable the point marker.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) The fill color of the marker in hover state. When
- * `undefined`, the series' or point's fillColor for normal state is used.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highmaps) Set the marker's fixed height on hover state.
- */
- height?: (number|undefined);
- /**
- * (Highcharts, Highstock) The number of pixels to increase the height of
- * the hovered point.
- */
- heightPlus?: (number|undefined);
- /**
- * (Highcharts, Highstock) The color of the point marker's outline. When
- * `undefined`, the series' or point's lineColor for normal state is used.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The width of the point marker's outline. When
- * `undefined`, the series' or point's lineWidth for normal state is used.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock) The additional line width for a hovered point.
- */
- lineWidthPlus?: (number|undefined);
- /**
- * (Highcharts, Highstock) The radius of the point marker. In hover state,
- * it defaults to the normal state's radius + 2 as per the radiusPlus
- * option.
- */
- radius?: number;
- /**
- * (Highcharts, Highstock) The number of pixels to increase the radius of
- * the hovered point.
- */
- radiusPlus?: number;
- /**
- * (Highcharts, Highmaps) Set the marker's fixed width on hover state.
- */
- width?: (number|undefined);
- /**
- * (Highcharts, Highstock) The number of pixels to increase the width of the
- * hovered point.
- */
- widthPlus?: (number|undefined);
- }
- /**
- * (Highcharts) The opposite state of a hover for a single point node. Applied
- * to all not connected nodes to the hovered one.
- */
- export interface PointStatesInactiveOptionsObject {
- /**
- * (Highcharts) Animation when not hovering over the node.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) Opacity of inactive markers.
- */
- opacity?: number;
- }
- /**
- * (Highcharts, Highstock) The normal state of a single point marker. Currently
- * only used for setting animation when returning to normal state from hover.
- */
- export interface PointStatesNormalOptionsObject {
- /**
- * (Highcharts, Highstock) Animation when returning to normal state after
- * hovering.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- }
- /**
- * (Highcharts, Highstock) States for a single point marker.
- */
- export interface PointStatesOptionsObject {
- /**
- * (Highcharts, Highstock) The hover state for a single point marker.
- */
- hover?: PointStatesHoverOptionsObject;
- /**
- * (Highcharts) The opposite state of a hover for a single point node.
- * Applied to all not connected nodes to the hovered one.
- */
- inactive?: PointStatesInactiveOptionsObject;
- /**
- * (Highcharts, Highstock) The normal state of a single point marker.
- * Currently only used for setting animation when returning to normal state
- * from hover.
- */
- normal?: PointStatesNormalOptionsObject;
- /**
- * (Highcharts, Highstock) The appearance of the point marker when selected.
- * In order to allow a point to be selected, set the
- * `series.allowPointSelect` option to true.
- */
- select?: PointStatesSelectOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The appearance of the point marker when selected. In
- * order to allow a point to be selected, set the `series.allowPointSelect`
- * option to true.
- */
- export interface PointStatesSelectOptionsObject {
- /**
- * (Highcharts, Highstock) Enable or disable visible feedback for selection.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) The fill color of the point marker.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highmaps) Set the marker's fixed height on select state.
- */
- height?: (number|undefined);
- /**
- * (Highcharts, Highstock) The number of pixels to increase the height of
- * the hovered point.
- */
- heightPlus?: (number|undefined);
- /**
- * (Highcharts, Highstock) The color of the point marker's outline. When
- * `undefined`, the series' or point's color is used.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The width of the point marker's outline.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock) The radius of the point marker. In hover state,
- * it defaults to the normal state's radius + 2.
- */
- radius?: number;
- /**
- * (Highcharts, Highmaps) Set the marker's fixed width on select state.
- */
- width?: (number|undefined);
- /**
- * (Highcharts, Highstock) The number of pixels to increase the width of the
- * hovered point.
- */
- widthPlus?: (number|undefined);
- }
- /**
- * Information about the update event.
- */
- export interface PointUpdateEventObject extends Event {
- /**
- * Options data of the update event.
- */
- options: PointOptionsType;
- }
- /**
- * An object containing `x` and `y` properties for the position of an element.
- */
- export interface PositionObject {
- /**
- * X position of the element.
- */
- x: number;
- /**
- * Y position of the element.
- */
- y: number;
- }
- /**
- * Defines the center position and the radius for a gradient.
- */
- export interface RadialGradientColorObject {
- /**
- * Center horizontal position relative to the shape. Float ranges 0-1.
- */
- cx: number;
- /**
- * Center vertical position relative to the shape. Float ranges 0-1.
- */
- cy: number;
- /**
- * Radius relative to the shape. Float ranges 0-1.
- */
- r: number;
- }
- /**
- * Describes a range.
- */
- export interface RangeObject {
- /**
- * Maximum number of the range.
- */
- max: number;
- /**
- * Minimum number of the range.
- */
- min: number;
- }
- /**
- * (Highstock, Gantt) Positioning for the button row.
- */
- export interface RangeSelectorButtonPositionOptions {
- /**
- * (Highstock, Gantt) The alignment of the input box. Allowed properties are
- * `left`, `center`, `right`.
- */
- align?: AlignValue;
- /**
- * (Highstock, Gantt) X offset of the button row.
- */
- x?: number;
- /**
- * (Highstock, Gantt) Y offset of the button row.
- */
- y?: number;
- }
- export interface RangeSelectorButtonsEventsOptions {
- /**
- * (Highstock, Gantt) Fires when clicking on the rangeSelector button. One
- * parameter, event, is passed to the function, containing common event
- * information. (see online documentation for example)
- *
- * Return false to stop default button's click action.
- */
- click?: RangeSelectorClickCallbackFunction;
- }
- /**
- * (Highstock, Gantt) An array of configuration objects for the buttons.
- *
- * Defaults to: (see online documentation for example)
- */
- export interface RangeSelectorButtonsOptions {
- /**
- * (Highstock, Gantt) How many units of the defined type the button should
- * span. If `type` is "month" and `count` is 3, the button spans three
- * months.
- */
- count?: number;
- /**
- * (Highstock) A custom data grouping object for each button.
- */
- dataGrouping?: DataGroupingOptionsObject;
- events?: RangeSelectorButtonsEventsOptions;
- /**
- * (Highstock, Gantt) Additional range (in milliseconds) added to the end of
- * the calculated time span.
- */
- offsetMax?: number;
- /**
- * (Highstock, Gantt) Additional range (in milliseconds) added to the start
- * of the calculated time span.
- */
- offsetMin?: number;
- /**
- * (Highstock, Gantt) When buttons apply dataGrouping on a series, by
- * default zooming in/out will deselect buttons and unset dataGrouping.
- * Enable this option to keep buttons selected when extremes change.
- */
- preserveDataGrouping?: boolean;
- /**
- * (Highstock, Gantt) The text for the button itself.
- */
- text?: string;
- /**
- * (Highstock, Gantt) Defined the time span for the button. Can be one of
- * `millisecond`, `second`, `minute`, `hour`, `day`, `week`, `month`,
- * `year`, `ytd`, and `all`.
- */
- type?: RangeSelectorButtonTypeValue;
- }
- /**
- * (Highstock, Gantt) Positioning for the input boxes. Allowed properties are
- * `align`, `x` and `y`.
- */
- export interface RangeSelectorInputPositionOptions {
- /**
- * (Highstock, Gantt) The alignment of the input box. Allowed properties are
- * `left`, `center`, `right`.
- */
- align?: AlignValue;
- /**
- * (Highstock, Gantt) X offset of the input row.
- */
- x?: number;
- /**
- * (Highstock, Gantt) Y offset of the input row.
- */
- y?: number;
- }
- /**
- * (Highstock, Gantt) The range selector is a tool for selecting ranges to
- * display within the chart. It provides buttons to select preconfigured ranges
- * in the chart, like 1 day, 1 week, 1 month etc. It also provides input boxes
- * where min and max dates can be manually input.
- */
- export interface RangeSelectorOptions {
- /**
- * (Highstock, Gantt) Whether to enable all buttons from the start. By
- * default buttons are only enabled if the corresponding time range exists
- * on the X axis, but enabling all buttons allows for dynamically loading
- * different time ranges.
- */
- allButtonsEnabled?: boolean;
- /**
- * (Highstock, Gantt) Positioning for the button row.
- */
- buttonPosition?: RangeSelectorButtonPositionOptions;
- /**
- * (Highstock, Gantt) An array of configuration objects for the buttons.
- *
- * Defaults to: (see online documentation for example)
- */
- buttons?: Array<RangeSelectorButtonsOptions>;
- /**
- * (Highstock, Gantt) The space in pixels between the buttons in the range
- * selector.
- */
- buttonSpacing?: number;
- /**
- * (Highstock, Gantt) A collection of attributes for the buttons. The object
- * takes SVG attributes like `fill`, `stroke`, `stroke-width`, as well as
- * `style`, a collection of CSS properties for the text.
- *
- * The object can also be extended with states, so you can set
- * presentational options for `hover`, `select` or `disabled` button states.
- *
- * CSS styles for the text label.
- *
- * In styled mode, the buttons are styled by the
- * `.highcharts-range-selector-buttons .highcharts-button` rule with its
- * different states.
- */
- buttonTheme?: SVGAttributes;
- /**
- * (Highstock, Gantt) Enable or disable the range selector.
- */
- enabled?: boolean;
- /**
- * (Highstock, Gantt) When the rangeselector is floating, the plot area does
- * not reserve space for it. This opens for positioning anywhere on the
- * chart.
- */
- floating?: boolean;
- /**
- * (Highstock, Gantt) The border color of the date input boxes.
- */
- inputBoxBorderColor?: ColorString;
- /**
- * (Highstock, Gantt) The pixel height of the date input boxes.
- */
- inputBoxHeight?: number;
- /**
- * (Highstock, Gantt) The pixel width of the date input boxes.
- */
- inputBoxWidth?: number;
- /**
- * (Highstock, Gantt) The date format in the input boxes when not selected
- * for editing. Defaults to `%b %e, %Y`.
- */
- inputDateFormat?: string;
- /**
- * (Highstock, Gantt) A custom callback function to parse values entered in
- * the input boxes and return a valid JavaScript time as milliseconds since
- * 1970. The first argument passed is a value to parse, second is a boolean
- * indicating use of the UTC time.
- */
- inputDateParser?: RangeSelectorParseCallbackFunction;
- /**
- * (Highstock, Gantt) The date format in the input boxes when they are
- * selected for editing. This must be a format that is recognized by
- * JavaScript Date.parse.
- */
- inputEditDateFormat?: string;
- /**
- * (Highstock, Gantt) Enable or disable the date input boxes. Defaults to
- * enabled when there is enough space, disabled if not (typically mobile).
- */
- inputEnabled?: boolean;
- /**
- * (Highstock, Gantt) Positioning for the input boxes. Allowed properties
- * are `align`, `x` and `y`.
- */
- inputPosition?: RangeSelectorInputPositionOptions;
- /**
- * (Highstock, Gantt) CSS for the HTML inputs in the range selector.
- *
- * In styled mode, the inputs are styled by the `.highcharts-range-input
- * text` rule in SVG mode, and `input.highcharts-range-selector` when
- * active.
- */
- inputStyle?: CSSObject;
- /**
- * (Highstock, Gantt) CSS styles for the labels - the Zoom, From and To
- * texts.
- *
- * In styled mode, the labels are styled by the `.highcharts-range-label`
- * class.
- */
- labelStyle?: CSSObject;
- /**
- * (Highstock, Gantt) The index of the button to appear pre-selected.
- */
- selected?: number;
- /**
- * (Highstock, Gantt) The vertical alignment of the rangeselector box.
- * Allowed properties are `top`, `middle`, `bottom`.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highstock, Gantt) The x offset of the range selector relative to its
- * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
- */
- x?: number;
- /**
- * (Highstock, Gantt) The y offset of the range selector relative to its
- * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
- */
- y?: number;
- }
- /**
- * A rectangle.
- */
- export interface RectangleObject {
- /**
- * Height of the rectangle.
- */
- height: number;
- /**
- * Width of the rectangle.
- */
- width: number;
- /**
- * Horizontal position of the rectangle.
- */
- x: number;
- /**
- * Vertical position of the rectangle.
- */
- y: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
- * apply for different screen or chart sizes. Each rule specifies additional
- * chart options.
- */
- export interface ResponsiveOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
- * settings. The rules are executed from the top down.
- */
- rules?: Array<ResponsiveRulesOptions>;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
- * applies.
- */
- export interface ResponsiveRulesConditionOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function to gain
- * complete control on when the responsive rule applies. Return `true` if it
- * applies. This opens for checking against other metrics than the chart
- * size, for example the document size or other elements.
- */
- callback?: ResponsiveCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
- * the chart height is less than this.
- */
- maxHeight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
- * the chart width is less than this.
- */
- maxWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
- * the chart height is greater than this.
- */
- minHeight?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
- * the chart width is greater than this.
- */
- minWidth?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
- * settings. The rules are executed from the top down.
- */
- export interface ResponsiveRulesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A full set of chart options to
- * apply as overrides to the general chart options. The chart options are
- * applied when the given rule is active.
- *
- * A special case is configuration objects that take arrays, for example
- * xAxis, yAxis or series. For these collections, an `id` option is used to
- * map the new option set to an existing object. If an existing object of
- * the same id is not found, the item of the same indexupdated. So for
- * example, setting `chartOptions` with two series items without an `id`,
- * will cause the existing chart's two series to be updated with respective
- * options.
- */
- chartOptions?: Options;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
- * applies.
- */
- condition?: ResponsiveRulesConditionOptions;
- }
- /**
- * (Highcharts) A node in a sankey diagram.
- */
- export interface SankeyNodeObject extends Point {
- /**
- * The color of the auto generated node.
- */
- color: (ColorString|GradientColorObject|PatternObject);
- /**
- * The color index of the auto generated node, especially for use in styled
- * mode.
- */
- colorIndex: number;
- /**
- * An optional column index of where to place the node. The default
- * behaviour is to place it next to the preceding node.
- */
- column: number;
- /**
- * The id of the auto-generated node, refering to the `from` or `to` setting
- * of the link.
- */
- id: string;
- /**
- * (Highcharts) The name to display for the node in data labels and
- * tooltips. Use this when the name is different from the `id`. Where the id
- * must be unique for each node, this is not necessary for the name.
- */
- name: string;
- /**
- * The vertical offset of a node in terms of weight. Positive values shift
- * the node downwards, negative shift it upwards.
- */
- offset: number;
- }
- /**
- * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of a
- * stock chart. Scrollbars can also be applied to other types of axes.
- *
- * Another approach to scrollable charts is the chart.scrollablePlotArea option
- * that is especially suitable for simpler cartesian charts on mobile.
- *
- * In styled mode, all the presentational options for the scrollbar are replaced
- * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
- * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
- * `.highcharts-scrollbar-track`.
- */
- export interface ScrollbarOptions {
- /**
- * (Highstock, Gantt) The background color of the scrollbar itself.
- */
- barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The color of the scrollbar's border.
- */
- barBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The border rounding radius of the bar.
- */
- barBorderRadius?: number;
- /**
- * (Highstock, Gantt) The width of the bar's border.
- */
- barBorderWidth?: number;
- /**
- * (Highstock, Gantt) The color of the small arrow inside the scrollbar
- * buttons.
- */
- buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The color of scrollbar buttons.
- */
- buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The color of the border of the scrollbar buttons.
- */
- buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The corner radius of the scrollbar buttons.
- */
- buttonBorderRadius?: number;
- /**
- * (Highstock, Gantt) The border width of the scrollbar buttons.
- */
- buttonBorderWidth?: number;
- /**
- * (Highstock, Gantt) Enable or disable the scrollbar.
- */
- enabled?: boolean;
- /**
- * (Highstock, Gantt) The height of the scrollbar. The height also applies
- * to the width of the scroll arrows so that they are always squares.
- * Defaults to 20 for touch devices and 14 for mouse devices.
- */
- height?: number;
- /**
- * (Highstock, Gantt) Whether to redraw the main chart as the scrollbar or
- * the navigator zoomed window is moved. Defaults to `true` for modern
- * browsers and `false` for legacy IE browsers as well as mobile devices.
- */
- liveRedraw?: boolean;
- /**
- * (Highstock, Gantt) The margin between the scrollbar and its axis when the
- * scrollbar is applied directly to an axis.
- */
- margin?: number;
- /**
- * (Highstock, Gantt) The minimum width of the scrollbar.
- */
- minWidth?: number;
- /**
- * (Highstock, Gantt) The color of the small rifles in the middle of the
- * scrollbar.
- */
- rifleColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) Whether to show or hide the scrollbar when the
- * scrolled content is zoomed out to it full extent.
- */
- showFull?: boolean;
- step?: number;
- /**
- * (Highstock, Gantt) The color of the track background.
- */
- trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The color of the border of the scrollbar track.
- */
- trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock, Gantt) The corner radius of the border of the scrollbar
- * track.
- */
- trackBorderRadius?: number;
- /**
- * (Highstock, Gantt) The width of the border of the scrollbar track.
- */
- trackBorderWidth?: number;
- /**
- * (Highstock, Gantt) The z index of the scrollbar group.
- */
- zIndex?: number;
- }
- /**
- * Axis-specific data of a selection.
- */
- export interface SelectDataObject {
- axis: Axis;
- max: number;
- min: number;
- }
- /**
- * Object for select events.
- */
- export interface SelectEventObject {
- originalEvent: Event;
- xAxis: Array<SelectDataObject>;
- yAxis: Array<SelectDataObject>;
- }
- /**
- * (Highstock) An Acceleration bands indicator. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `abands` series are defined in plotOptions.abands.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAbandsOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesAbandsOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesAbandsOptions extends PlotAbandsOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "abands";
- }
- /**
- * (Highstock) Keyboard navigation for a series
- */
- export interface SeriesAccessibilityKeyboardNavigationOptionsObject {
- /**
- * (Highstock) Enable/disable keyboard navigation support for a specific
- * series.
- */
- enabled?: boolean;
- }
- /**
- * (Highstock) Accessibility options for a series.
- */
- export interface SeriesAccessibilityOptionsObject {
- /**
- * (Highstock) Provide a description of the series, announced to screen
- * readers.
- */
- description?: string;
- /**
- * (Highstock) Enable/disable accessibility functionality for a specific
- * series.
- */
- enabled?: boolean;
- /**
- * (Highstock) Expose only the series element to screen readers, not its
- * points.
- */
- exposeAsGroupOnly?: boolean;
- /**
- * (Highstock) Keyboard navigation for a series
- */
- keyboardNavigation?: SeriesAccessibilityKeyboardNavigationOptionsObject;
- /**
- * (Highstock) Formatter function to use instead of the default for point
- * descriptions. Same as `accessibility.point.descriptionFormatter`, but for
- * a single series.
- */
- pointDescriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
- }
- /**
- * (Highstock) A `AD` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ad` series are defined in plotOptions.ad.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAdOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesAdOptions { customProperty: string; }
- *
- */
- export interface SeriesAdOptions extends PlotAdOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "ad";
- }
- /**
- * Event information regarding completed animation of a series.
- */
- export interface SeriesAfterAnimateEventObject {
- /**
- * Animated series.
- */
- target: Series;
- /**
- * Event type.
- */
- type: "afterAnimate";
- }
- /**
- * (Highstock) An `AO` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ao` series are defined in plotOptions.ao.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAoOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesAoOptions { customProperty: string; }
- *
- */
- export interface SeriesAoOptions extends PlotAoOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "ao";
- }
- /**
- * (Highstock) An `Absolute Price Oscillator` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `apo` series are defined in plotOptions.apo.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesApoOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesApoOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesApoOptions extends PlotApoOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "apo";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesAreaDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesAreaDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `area` series. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `area` series are defined in plotOptions.area.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAreaOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesAreaOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesAreaOptions extends PlotAreaOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `area` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` * and `pointInterval` given in the series options. If the
- * axis has categories, these will be used. Example: (see online
- * documentation for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "area";
- /**
- * Not available
- */
- useOhlcData?: undefined;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesArearangeDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesArearangeDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) Extended data labels for range series types. Range
- * series data labels use no `x` and `y` options. Instead, they have `xLow`,
- * `xHigh`, `yLow` and `yHigh` options to allow the higher and lower data label
- * sets individually.
- */
- export interface SeriesAreaRangeDataLabelsOptionsObject {
- /**
- * (Highcharts, Highstock) The alignment of the data label compared to the
- * point. If `right`, the right side of the label should be touching the
- * point. For points with an extent, like columns, the alignments also
- * dictates how to align it inside the box, as given with the inside option.
- * Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock) Whether to allow data labels to overlap. To make
- * the labels less sensitive for overlapping, the dataLabels.padding can be
- * set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set
- * as a configuration object. Please note that this option only applies to
- * the initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotArearangeDataLabelsAnimationOptions|PlotAreasplinerangeDataLabelsAnimationOptions|PlotColumnrangeDataLabelsAnimationOptions|PlotDumbbellDataLabelsAnimationOptions|
- PlotLollipopDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock) The background color or gradient for the data
- * label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The border color for the data label. Defaults to
- * `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The border radius in pixels for the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock) The border width in pixels for the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock) A class name for the data label. Particularly in
- * styled mode, this can be used to give each series' or point's data label
- * unique styling. In addition to this option, a default color class name is
- * added so that we can give the labels a contrast text shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) The text color for the data labels. Defaults to
- * `undefined`. For certain series types, like column or map, the data
- * labels can be drawn inside the points. In this case the data label will
- * be drawn with maximum contrast by default. Additionally, it will be given
- * a `text-outline` style with the opposite color, to further increase the
- * contrast. This can be overridden by setting the `text-outline` style to
- * `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Whether to hide data labels that are outside the
- * plot area. By default, the data label is moved inside the plot area
- * according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock) Enable or disable the data labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) A declarative filter to control of which data
- * labels to display. The declarative filter is designed for use when
- * callback functions are not available, like when the chart options require
- * a pure JSON structure or for use with graphical editors. For programmatic
- * control, use the `formatter` instead, and return `undefined` to disable a
- * single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock) A format string for the data label. Available
- * variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock) Callback JavaScript function to format the data
- * label. Note that if a `format` is defined, the format takes precedence
- * and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock) For points with an extent, like columns or map
- * areas, whether to align the data label inside the box or to the actual
- * value point. Defaults to `false` in most cases, `true` in stacked
- * columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock) Format for points with the value of null. Works
- * analogously to format. `nullFormat` can be applied only to series which
- * support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock) Callback JavaScript function that defines
- * formatting for points with the value of null. Works analogously to
- * formatter. `nullPointFormatter` can be applied only to series which
- * support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock) How to handle data labels that flow outside the
- * plot area. The default is `"justify"`, which aligns them inside the plot
- * area. For columns and bars, this means it will be moved inside the bar.
- * To display data labels outside the plot area, set `crop` to `false` and
- * `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock) When either the `borderWidth` or the
- * `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock) Aligns data labels relative to points. If
- * `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock) Text rotation in degrees. Note that due to a more
- * complex structure, backgrounds, borders and padding will be lost on a
- * rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock) The shadow of the box. Works best with
- * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
- * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
- * `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock) The name of a symbol to use for the border around
- * the label. Symbols are predefined functions on the Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock) Styles for the label. The default `color` setting
- * is `"contrast"`, which is a pseudo color that Highcharts picks up and
- * applies the maximum contrast to the underlying point item, for example
- * the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock) Options for a label text which should follow
- * marker's shape. Border and background are disabled for a label that
- * follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock) The vertical alignment of a data label. Can be
- * one of `top`, `middle` or `bottom`. The default value depends on the
- * data, for instance in a column chart, the label is above positive values
- * and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock) The x position offset of the label relative to
- * the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock) X offset of the higher data labels relative to
- * the point value.
- */
- xHigh?: number;
- /**
- * (Highcharts, Highstock) X offset of the lower data labels relative to the
- * point value.
- */
- xLow?: number;
- /**
- * (Highcharts, Highstock) The y position offset of the label relative to
- * the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock) Y offset of the higher data labels relative to
- * the point value.
- */
- yHigh?: number;
- /**
- * (Highcharts, Highstock) Y offset of the lower data labels relative to the
- * point value.
- */
- yLow?: number;
- /**
- * (Highcharts, Highstock) The Z index of the data labels. The default Z
- * index puts it above the series. Use a Z index of 2 to display it behind
- * the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock) A `arearange` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `arearange` series are defined in plotOptions.arearange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesArearangeOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesArearangeOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesArearangeOptions extends PlotArearangeOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `arearange` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,low,high`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "arearange";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesAreasplineDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesAreasplineDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `areaspline` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAreasplineOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesAreasplineOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesAreasplineOptions extends PlotAreasplineOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `areaspline` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "areaspline";
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesAreasplinerangeDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesAreasplinerangeDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `areasplinerange` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `areasplinerange` series are defined in
- * plotOptions.areasplinerange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAreasplinerangeOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesAreasplinerangeOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesAreasplinerangeOptions extends PlotAreasplinerangeOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `areasplinerange` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,low,high`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "areasplinerange";
- }
- /**
- * (Highstock) A Aroon indicator. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `aroon` series are defined in plotOptions.aroon.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAroonOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesAroonOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesAroonOptions extends PlotAroonOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "aroon";
- }
- /**
- * (Highstock) An `Aroon Oscillator` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `aroonoscillator` series are defined in
- * plotOptions.aroonoscillator.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAroonoscillatorOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesAroonoscillatorOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesAroonoscillatorOptions extends PlotAroonoscillatorOptions, SeriesOptions {
- /**
- * Not available
- */
- aroonDown?: undefined;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "aroonoscillator";
- }
- /**
- * (Highstock) A `ATR` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `atr` series are defined in plotOptions.atr.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesAtrOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesAtrOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesAtrOptions extends PlotAtrOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "atr";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesBarDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesBarDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `bar` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bar` series are defined in plotOptions.bar.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesBarOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesBarOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesBarOptions extends PlotBarOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `bar` series
- * type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "bar";
- }
- /**
- * (Highstock) A bollinger bands indicator. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bb` series are defined in plotOptions.bb.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesBbOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesBbOptions { customProperty: string; }
- *
- */
- export interface SeriesBbOptions extends PlotBbOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "bb";
- }
- /**
- * (Highcharts) A `bellcurve` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * For options that apply to multiple series, it is recommended to add them to
- * the plotOptions.series options structure. To apply to all series of this
- * specific type, apply it to plotOptions.bellcurve.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesBellcurveOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesBellcurveOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesBellcurveOptions extends PlotBellcurveOptions, SeriesOptions {
- /**
- * (Highcharts) An integer identifying the index to use for the base series,
- * or a string representing the id of the series.
- */
- baseSeries?: (number|string);
- /**
- * Not available
- */
- data?: undefined;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "bellcurve";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesBoxplotDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesBoxplotDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `boxplot` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesBoxplotOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesBoxplotOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesBoxplotOptions extends PlotBoxplotOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `boxplot`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 6 or 5 values. In this case, the values
- * correspond to `x,low,q1,median,q3,high`. If the first value is a string,
- * it is applied as the name of the point, and the `x` value is inferred.
- * The `x` value can also be omitted, in which case the inner arrays should
- * be of length 5. Then the `x` value is automatically calculated, either
- * starting at 0 and incremented by 1, or from `pointStart` and
- * `pointInterval` given in the series options. (see online documentation
- * for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number, number, number, number]|[(number|string), number, number, number, number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "boxplot";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesBubbleDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesBubbleDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `bubble` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bubble` series are defined in plotOptions.bubble.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesBubbleOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesBubbleOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesBubbleOptions extends PlotBubbleOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `bubble`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,y,z`. If the first value is a string, it is applied as
- * the name of the point, and the `x` value is inferred. The `x` value can
- * also be omitted, in which case the inner arrays should be of length 2\.
- * Then the `x` value is automatically calculated, either starting at 0 and
- * incremented by 1, or from `pointStart` and `pointInterval` given in the
- * series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "bubble";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesBulletDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesBulletDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) Individual target options for each point.
- */
- export interface SeriesBulletDataTargetOptions {
- /**
- * (Highcharts) The border color of the rectangle representing the target.
- * When not set, the point's border color is used.
- *
- * In styled mode, use class `highcharts-bullet-target` instead.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts) The border width of the rectangle representing the target.
- *
- * In styled mode, use class `highcharts-bullet-target` instead.
- */
- borderWidth?: number;
- /**
- * (Highcharts) The color of the rectangle representing the target. When not
- * set, point's color (if set in point's options - `color`) or zone of the
- * target value (if `zones` or `negativeColor` are set) or the same color as
- * the point has is used.
- *
- * In styled mode, use class `highcharts-bullet-target` instead.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The height of the rectangle representing the target.
- */
- height?: number;
- /**
- * (Highcharts) The width of the rectangle representing the target. Could be
- * set as a pixel value or as a percentage of a column width.
- */
- width?: (number|string);
- }
- /**
- * (Highcharts) A `bullet` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `bullet` series are defined in plotOptions.bullet.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesBulletOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesBulletOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesBulletOptions extends PlotBulletOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `bullet`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,y,target`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "bullet";
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesCandlestickDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highstock) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesCandlestickDataDragDropGuideBoxOptions {
- /**
- * (Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highstock) A `candlestick` series. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `candlestick` series are defined in
- * plotOptions.candlestick.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesCandlestickOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesCandlestickOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesCandlestickOptions extends PlotCandlestickOptions, SeriesOptions {
- /**
- * (Highstock) An array of data points for the series. For the `candlestick`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 5 or 4 values. In this case, the values
- * correspond to `x,open,high,low,close`. If the first value is a string, it
- * is applied as the name of the point, and the `x` value is inferred. The
- * `x` value can also be omitted, in which case the inner arrays should be
- * of length 4. Then the `x` value is automatically calculated, either
- * starting at 0 and incremented by 1, or from `pointStart` and
- * `pointInterval` given in the series options. (see online documentation
- * for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "candlestick";
- }
- /**
- * (Highstock) A `CCI` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `cci` series are defined in plotOptions.cci.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesCciOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesCciOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesCciOptions extends PlotCciOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "cci";
- }
- /**
- * (Highstock) A `Chaikin Oscillator` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesChaikinOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesChaikinOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesChaikinOptions extends PlotChaikinOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "chaikin";
- }
- /**
- * Event information regarding check of a series box.
- */
- export interface SeriesCheckboxClickEventObject {
- /**
- * Whether the box has been checked.
- */
- checked: boolean;
- /**
- * Related series.
- */
- item: Series;
- /**
- * Related series.
- */
- target: Series;
- /**
- * Event type.
- */
- type: "checkboxClick";
- }
- /**
- * Common information for a click event on a series.
- */
- export interface SeriesClickEventObject extends Event {
- /**
- * Nearest point on the graph.
- */
- point: Point;
- }
- /**
- * (Highstock) A `CMF` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `cmf` series are defined in plotOptions.cmf.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesCmfOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesCmfOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesCmfOptions extends PlotCmfOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "cmf";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesColumnDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesColumnDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `column` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `column` series are defined in plotOptions.column.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesColumnOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesColumnOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesColumnOptions extends PlotColumnOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `column` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "column";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesColumnpyramidDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesColumnpyramidDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `columnpyramid` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `columnpyramid` series are defined in
- * plotOptions.columnpyramid.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesColumnpyramidOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesColumnpyramidOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesColumnpyramidOptions extends PlotColumnpyramidOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `columnpyramid` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The objects are point
- * configuration objects as seen below. If the total number of data points
- * exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "columnpyramid";
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesColumnrangeDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesColumnrangeDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `columnrange` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `columnrange` series are defined in
- * plotOptions.columnrange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesColumnrangeOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesColumnrangeOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesColumnrangeOptions extends PlotColumnrangeOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `columnrange` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,low,high`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "columnrange";
- }
- /**
- * (Gantt) Override Pathfinder connector options for a series. Requires
- * Highcharts Gantt to be loaded.
- */
- export interface SeriesConnectorsOptionsObject {
- animation?: ConnectorsAnimationOptionsObject;
- /**
- * (Gantt) Set the default dash style for this chart's connecting lines.
- */
- dashStyle?: string;
- /**
- * (Gantt) Marker options specific to the end markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- endMarker?: ConnectorsEndMarkerOptions;
- /**
- * (Gantt) Set the default color for this chart's Pathfinder connecting
- * lines. Defaults to the color of the point being connected.
- */
- lineColor?: ColorString;
- /**
- * (Gantt) Set the default pixel width for this chart's Pathfinder
- * connecting lines.
- */
- lineWidth?: number;
- /**
- * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
- * this option is overridden by the `startMarker` and `endMarker` options.
- */
- marker?: ConnectorsMarkerOptions;
- /**
- * (Gantt) Marker options specific to the start markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- startMarker?: ConnectorsStartMarkerOptions;
- /**
- * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
- * possible to define your own algorithms by adding them to the
- * Highcharts.Pathfinder.prototype.algorithms object before the chart has
- * been created.
- *
- * The default algorithms are as follows:
- *
- * `straight`: Draws a straight line between the connecting points. Does not
- * avoid other points when drawing.
- *
- * `simpleConnect`: Finds a path between the points using right angles only.
- * Takes only starting/ending points into account, and will not avoid other
- * points.
- *
- * `fastAvoid`: Finds a path between the points using right angles only.
- * Will attempt to avoid other points, but its focus is performance over
- * accuracy. Works well with less dense datasets.
- *
- * Default value: `straight` is used as default for most series types, while
- * `simpleConnect` is used as default for Gantt series, to show dependencies
- * between points.
- */
- type?: (string|PathfinderTypeValue);
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesCylinderDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesCylinderDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `cylinder` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesCylinderOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesCylinderOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesCylinderOptions extends PlotCylinderOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `cylinder` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "cylinder";
- }
- /**
- * (Highstock) A `DEMA` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dema` series are defined in plotOptions.dema.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesDemaOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesDemaOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesDemaOptions extends PlotDemaOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "dema";
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesDependencywheelNodesDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) A `dependencywheel` series. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dependencywheel` series are defined in
- * plotOptions.dependencywheel.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesDependencywheelOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesDependencywheelOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesDependencywheelOptions extends PlotDependencywheelOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the
- * `dependencywheel` series type, points can be given in the following way:
- *
- * An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of
- * data points exceeds the series' turboThreshold, this option is not
- * available. (see online documentation for example)
- */
- data?: Array<SeriesSankeyPointOptionsObject>;
- /**
- * (Highcharts) A collection of options for the individual nodes. The nodes
- * in a dependency diagram are auto-generated instances of
- * `Highcharts.Point`, but options can be applied here and linked by the
- * `id`.
- */
- nodes?: Array<SeriesSankeyNodesOptionsObject>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "dependencywheel";
- }
- /**
- * (Highstock) A Detrended Price Oscillator. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dpo` series are defined in plotOptions.dpo.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesDpoOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesDpoOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesDpoOptions extends PlotDpoOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "dpo";
- }
- /**
- * (Highcharts, Highstock, Gantt) The draggable-points module allows points to
- * be moved around or modified in the chart. In addition to the options
- * mentioned under the `dragDrop` API structure, the module fires three events,
- * point.dragStart, point.drag and point.drop.
- */
- export interface SeriesDragDropOptionsObject {
- /**
- * (Highstock) Allow close value to be dragged individually.
- */
- draggableClose?: boolean;
- /**
- * (Gantt) Allow end value to be dragged individually.
- */
- draggableEnd?: boolean;
- /**
- * (Highstock) Allow high value to be dragged individually.
- */
- draggableHigh?: boolean;
- /**
- * (Highstock) Allow low value to be dragged individually.
- */
- draggableLow?: boolean;
- /**
- * (Highstock) Allow open value to be dragged individually.
- */
- draggableOpen?: boolean;
- /**
- * (Highcharts, Highstock) Allow Q1 value to be dragged individually.
- */
- draggableQ1?: boolean;
- /**
- * (Highcharts, Highstock) Allow Q3 value to be dragged individually.
- */
- draggableQ3?: boolean;
- /**
- * (Gantt) Allow start value to be dragged individually.
- */
- draggableStart?: boolean;
- /**
- * (Highcharts) Allow target value to be dragged individually.
- */
- draggableTarget?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
- */
- draggableX?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Allow x value to be dragged individually.
- */
- draggableX1?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Allow x2 value to be dragged individually.
- */
- draggableX2?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
- * that this is not supported for TreeGrid axes (the default axis type in
- * Gantt charts).
- */
- draggableY?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Options for the drag handles.
- */
- dragHandle?: DragDropHandleOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
- * moved to.
- */
- dragMaxX?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
- * moved to.
- */
- dragMaxY?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
- * moved to.
- */
- dragMinX?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
- * moved to.
- */
- dragMinY?: number;
- /**
- * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
- * series. Set to 0 to disable. By default this is disabled, except for
- * category axes, where the default is 1.
- */
- dragPrecisionX?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
- * series. Set to 0 to disable. By default this is disabled, except for
- * category axes, where the default is 1.
- */
- dragPrecisionY?: number;
- /**
- * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
- * before it counts as a drag operation. This prevents drag/drop to fire
- * when just clicking or selecting points.
- */
- dragSensitivity?: number;
- /**
- * (Highcharts, Highstock, Gantt) Group the points by a property. Points
- * with the same property value will be grouped together when moving.
- */
- groupBy?: string;
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
- * box has one state by default, the `default` state.
- */
- guideBox?: (PlotAreaDragDropGuideBoxOptions|PlotArearangeDragDropGuideBoxOptions|PlotAreasplineDragDropGuideBoxOptions|PlotAreasplinerangeDragDropGuideBoxOptions|PlotBarDragDropGuideBoxOptions|
- PlotBoxplotDragDropGuideBoxOptions|PlotBubbleDragDropGuideBoxOptions|PlotBulletDragDropGuideBoxOptions|PlotCandlestickDragDropGuideBoxOptions|PlotColumnDragDropGuideBoxOptions|
- PlotColumnpyramidDragDropGuideBoxOptions|PlotColumnrangeDragDropGuideBoxOptions|PlotDumbbellDragDropGuideBoxOptions|PlotErrorbarDragDropGuideBoxOptions|PlotFlagsDragDropGuideBoxOptions|
- PlotFunnel3dDragDropGuideBoxOptions|PlotGanttDragDropGuideBoxOptions|PlotHeatmapDragDropGuideBoxOptions|PlotLineDragDropGuideBoxOptions|PlotLollipopDragDropGuideBoxOptions|
- PlotMapbubbleDragDropGuideBoxOptions|PlotMapDragDropGuideBoxOptions|PlotMaplineDragDropGuideBoxOptions|PlotMappointDragDropGuideBoxOptions|PlotOhlcDragDropGuideBoxOptions|
- PlotPolygonDragDropGuideBoxOptions|PlotPyramid3dDragDropGuideBoxOptions|PlotScatterDragDropGuideBoxOptions|PlotSeriesDragDropGuideBoxOptions|PlotSplineDragDropGuideBoxOptions|
- PlotStreamgraphDragDropGuideBoxOptions|PlotTilemapDragDropGuideBoxOptions|PlotTimelineDragDropGuideBoxOptions|PlotVariwideDragDropGuideBoxOptions|PlotWaterfallDragDropGuideBoxOptions|
- PlotXrangeDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
- * false, a guide box is drawn to illustrate the new point size.
- */
- liveRedraw?: boolean;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesDumbbellDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesDumbbellDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The `dumbbell` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesDumbbellOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesDumbbellOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesDumbbellOptions extends PlotDumbbellOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `dumbbell` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,low,high`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "dumbbell";
- }
- /**
- * (Highstock) A `EMA` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ema` series are defined in plotOptions.ema.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesEmaOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesEmaOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesEmaOptions extends PlotEmaOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "ema";
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesErrorbarDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `errorbar` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesErrorbarOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesErrorbarOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesErrorbarOptions extends PlotErrorbarOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `errorbar`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,low,high`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "errorbar";
- }
- /**
- * (Highstock) General event handlers for the series items. These event hooks
- * can also be attached to the series at run time using the
- * `Highcharts.addEvent` function.
- */
- export interface SeriesEventsOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) Fires after the series has finished its
- * initial animation, or in case animation is disabled, immediately as the
- * series is displayed.
- */
- afterAnimate?: SeriesAfterAnimateCallbackFunction;
- /**
- * (Highstock) Fires when the checkbox next to the series' name in the
- * legend is clicked. One parameter, `event`, is passed to the function. The
- * state of the checkbox is found by `event.checked`. The checked item is
- * found by `event.item`. Return `false` to prevent the default action which
- * is to toggle the select state of the series.
- */
- checkboxClick?: (Function|SeriesCheckboxClickCallbackFunction);
- /**
- * (Highstock) Fires when the series is clicked. One parameter, `event`, is
- * passed to the function, containing common event information.
- * Additionally, `event.point` holds a pointer to the nearest point on the
- * graph.
- */
- click?: SeriesClickCallbackFunction;
- /**
- * (Highstock) Fires when the series is hidden after chart generation time,
- * either by clicking the legend item or by calling `.hide()`.
- */
- hide?: SeriesHideCallbackFunction;
- /**
- * (Highstock) Fires when the legend item belonging to the series is
- * clicked. One parameter, `event`, is passed to the function. The default
- * action is to toggle the visibility of the series. This can be prevented
- * by returning `false` or calling `event.preventDefault()`.
- */
- legendItemClick?: SeriesLegendItemClickCallbackFunction;
- /**
- * (Highstock) Fires when the mouse leaves the graph. One parameter,
- * `event`, is passed to the function, containing common event information.
- * If the stickyTracking option is true, `mouseOut` doesn't happen before
- * the mouse enters another graph or leaves the plot area.
- */
- mouseOut?: SeriesMouseOutCallbackFunction;
- /**
- * (Highstock) Fires when the mouse enters the graph. One parameter,
- * `event`, is passed to the function, containing common event information.
- */
- mouseOver?: SeriesMouseOverCallbackFunction;
- /**
- * (Highcharts) Fires on a request for change of root node for the tree,
- * before the update is made. An event object is passed to the function,
- * containing additional properties `newRootId`, `previousRootId`, `redraw`
- * and `trigger`.
- */
- setRootNode?: Function;
- /**
- * (Highstock) Fires when the series is shown after chart generation time,
- * either by clicking the legend item or by calling `.show()`.
- */
- show?: SeriesShowCallbackFunction;
- }
- /**
- * (Highstock) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesFlagsDataDragDropGuideBoxOptions {
- /**
- * (Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highstock) A `flags` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `flags` series are defined in plotOptions.flags.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesFlagsOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesFlagsOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesFlagsOptions extends PlotFlagsOptions, SeriesOptions {
- /**
- * Not available
- */
- borderRadius?: undefined;
- /**
- * Not available
- */
- colorByPoint?: undefined;
- /**
- * (Highstock) An array of data points for the series. For the `flags`
- * series type, points can be given in the following ways:
- *
- * 1. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<PointOptionsObject>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- pointPadding?: undefined;
- /**
- * Not available
- */
- pointWidth?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "flags";
- /**
- * Not available
- */
- useOhlcData?: undefined;
- }
- /**
- * (Highcharts) A `funnel3d` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesFunnel3dOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesFunnel3dOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesFunnel3dOptions extends PlotFunnel3dOptions, SeriesOptions {
- /**
- * Not available
- */
- allAreas?: undefined;
- /**
- * Not available
- */
- boostThreshold?: undefined;
- /**
- * (Highcharts) The center of the series. By default, it is centered in the
- * middle of the plot area, so it fills the plot area height.
- */
- center?: Array<(number|string)>;
- /**
- * Not available
- */
- colorAxis?: undefined;
- /**
- * Not available
- */
- compare?: undefined;
- /**
- * Not available
- */
- compareBase?: undefined;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
- * right. Defaults to `startAngle` plus 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts, Highstock) The line cap used for line ends and line joins on
- * the graph.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "funnel3d";
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesFunnelDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesFunnelDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `funnel` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `funnel` series are defined in plotOptions.funnel.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesFunnelOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesFunnelOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesFunnelOptions extends PlotFunnelOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `funnel`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "funnel";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Gantt) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesGanttDataDragDropGuideBoxOptions {
- /**
- * (Gantt) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Gantt) A `gantt` series.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `gantt` series are defined in plotOptions.gantt.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesGanttOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesGanttOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesGanttOptions extends PlotGanttOptions, SeriesOptions {
- /**
- * (Gantt) Data for a Gantt series.
- */
- data?: Array<GanttPointOptionsObject>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "gantt";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesGaugeDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesGaugeDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `gauge` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `gauge` series are defined in plotOptions.gauge.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesGaugeOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesGaugeOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesGaugeOptions extends PlotGaugeOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `gauge`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- *
- * The typical gauge only contains a single data value.
- */
- data?: Array<(number|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "gauge";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesHeatmapDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
- * state by default, the `default` state.
- */
- export interface SeriesHeatmapDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highmaps) A `heatmap` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesHeatmapOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesHeatmapOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesHeatmapOptions extends PlotHeatmapOptions, SeriesOptions {
- /**
- * (Highcharts, Highmaps) An array of data points for the series. For the
- * `heatmap` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,y,value`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(Array<number>|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "heatmap";
- }
- /**
- * (Highcharts) A `histogram` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `histogram` series are defined in plotOptions.histogram.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesHistogramOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesHistogramOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesHistogramOptions extends PlotHistogramOptions, SeriesOptions {
- /**
- * (Highcharts) An integer identifying the index to use for the base series,
- * or a string representing the id of the series.
- */
- baseSeries?: (number|string);
- /**
- * Not available
- */
- data?: undefined;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "histogram";
- }
- /**
- * (Highstock) A `IKH` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ikh` series are defined in plotOptions.ikh.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesIkhOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesIkhOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesIkhOptions extends PlotIkhOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "ikh";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesItemDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesItemDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) An `item` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `item` series are defined in plotOptions.item.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesItemOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesItemOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesItemOptions extends PlotItemOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `item`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "item";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Highstock) A Keltner Channels indicator. If the type option is not
- * specified, it is inherited fromchart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `keltnerchannels` series are defined in
- * plotOptions.keltnerchannels.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesKeltnerchannelsOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesKeltnerchannelsOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesKeltnerchannelsOptions extends PlotKeltnerchannelsOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "keltnerchannels";
- }
- /**
- * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
- * series as possible in a natural way, seeking to avoid other series. The goal
- * of this feature is to make the chart more easily readable, like if a human
- * designer placed the labels in the optimal position.
- *
- * The series labels currently work with series types having a `graph` or an
- * `area`.
- */
- export interface SeriesLabelOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) An array of boxes to avoid when laying out
- * the labels. Each item has a `left`, `right`, `top` and `bottom` property.
- */
- boxesToAvoid?: Array<LabelIntersectBoxObject>;
- /**
- * (Highcharts, Highstock, Gantt) Allow labels to be placed distant to the
- * graph if necessary, and draw a connector line to the graph. Setting this
- * option to true may decrease the performance significantly, since the
- * algorithm with systematically search for open spaces in the whole plot
- * area. Visually, it may also result in a more cluttered chart, though more
- * of the series will be labeled.
- */
- connectorAllowed?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) If the label is closer than this to a
- * neighbour graph, draw a connector.
- */
- connectorNeighbourDistance?: number;
- /**
- * (Highcharts, Highstock, Gantt) Enable the series label per series.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A format string for the label, with
- * support for a subset of HTML. Variables are enclosed by curly brackets.
- * Available variables are `name`, `options.xxx`, `color` and other members
- * from the `series` object. Use this option also to set a static text for
- * the label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Gantt) Callback function to format each of the
- * series' labels. The `this` keyword refers to the series object. By
- * default the `formatter` is undefined and the `series.name` is rendered.
- */
- formatter?: FormatterCallbackFunction<Series>;
- /**
- * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
- * to vary so that small areas get a smaller font size. The default applies
- * this effect to area-like series but not line-like series.
- */
- maxFontSize?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
- * to vary so that small areas get a smaller font size. The default applies
- * this effect to area-like series but not line-like series.
- */
- minFontSize?: (number|null);
- /**
- * (Highcharts, Highstock, Gantt) Draw the label on the area of an area
- * series. By default it is drawn on the area. Set it to `false` to draw it
- * next to the graph instead.
- */
- onArea?: (boolean|null);
- /**
- * (Highcharts, Highstock, Gantt) Styles for the series label. The color
- * defaults to the series color, or a contrast color if `onArea`.
- */
- style?: CSSObject;
- }
- /**
- * (Highstock) The line marks the last price from all points.
- */
- export interface SeriesLastPriceOptionsObject {
- /**
- * (Highstock) The color of the line of last price.
- */
- color?: string;
- /**
- * (Highstock) Enable or disable the indicator.
- */
- enabled?: boolean;
- }
- export interface SeriesLastVisiblePriceLabelOptionsObject {
- /**
- * (Highstock) Enable or disable the label.
- */
- enabled?: boolean;
- }
- /**
- * (Highstock) The line marks the last price from visible range of points.
- */
- export interface SeriesLastVisiblePriceOptionsObject {
- /**
- * (Highstock) Enable or disable the indicator.
- */
- enabled?: boolean;
- label?: SeriesLastVisiblePriceLabelOptionsObject;
- }
- /**
- * Information about the legend click event.
- */
- export interface SeriesLegendItemClickEventObject {
- /**
- * Related browser event.
- */
- browserEvent: PointerEvent;
- /**
- * Prevent the default action of toggle the visibility of the series.
- */
- preventDefault: Function;
- /**
- * Related series.
- */
- target: Series;
- /**
- * Event type.
- */
- type: "legendItemClick";
- }
- /**
- * (Highstock) A linear regression intercept series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregressionangle` series are defined in
- * plotOptions.linearregressionangle.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesLinearregressionangleOptions` via an interface
- * to allow custom properties: ``` declare interface
- * SeriesLinearregressionangleOptions { customProperty: string; }
- *
- */
- export interface SeriesLinearregressionangleOptions extends PlotLinearregressionangleOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "linearregressionangle";
- }
- /**
- * (Highstock) A linear regression intercept series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregressionintercept` series are defined in
- * plotOptions.linearregressionintercept.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesLinearregressioninterceptOptions` via an
- * interface to allow custom properties: ``` declare interface
- * SeriesLinearregressioninterceptOptions { customProperty: string; }
- *
- */
- export interface SeriesLinearregressioninterceptOptions extends PlotLinearregressioninterceptOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "linearregressionintercept";
- }
- /**
- * (Highstock) A linear regression series. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregression` series are defined in
- * plotOptions.linearregression.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesLinearregressionOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesLinearregressionOptions
- * { customProperty: string; }
- *
- */
- export interface SeriesLinearregressionOptions extends PlotLinearregressionOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "linearregression";
- }
- /**
- * (Highstock) A linear regression slope series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `linearregressionslope` series are defined in
- * plotOptions.linearregressionslope.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesLinearregressionslopeOptions` via an interface
- * to allow custom properties: ``` declare interface
- * SeriesLinearregressionslopeOptions { customProperty: string; }
- *
- */
- export interface SeriesLinearregressionslopeOptions extends PlotLinearregressionslopeOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "linearregressionslope";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesLineDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesLineDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Gantt) Point specific options for the
- * draggable-points module. Overrides options on `series.dragDrop`.
- */
- export interface SeriesLineDataDragDropOptions {
- /**
- * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
- */
- draggableX?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
- * that this is not supported for TreeGrid axes (the default axis type in
- * Gantt charts).
- */
- draggableY?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Options for the drag handles.
- */
- dragHandle?: DragDropHandleOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
- * moved to.
- */
- dragMaxX?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
- * moved to.
- */
- dragMaxY?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
- * moved to.
- */
- dragMinX?: number;
- /**
- * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
- * moved to.
- */
- dragMinY?: number;
- /**
- * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
- * series. Set to 0 to disable. By default this is disabled, except for
- * category axes, where the default is 1.
- */
- dragPrecisionX?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
- * series. Set to 0 to disable. By default this is disabled, except for
- * category axes, where the default is 1.
- */
- dragPrecisionY?: number;
- /**
- * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
- * before it counts as a drag operation. This prevents drag/drop to fire
- * when just clicking or selecting points.
- */
- dragSensitivity?: number;
- /**
- * (Highcharts, Highstock, Gantt) Group the points by a property. Points
- * with the same property value will be grouped together when moving.
- */
- groupBy?: string;
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
- * box has one state by default, the `default` state.
- */
- guideBox?: (SeriesAreaDataDragDropGuideBoxOptions|SeriesArearangeDataDragDropGuideBoxOptions|SeriesAreasplineDataDragDropGuideBoxOptions|SeriesAreasplinerangeDataDragDropGuideBoxOptions|
- SeriesBarDataDragDropGuideBoxOptions|SeriesBoxplotDataDragDropGuideBoxOptions|SeriesBubbleDataDragDropGuideBoxOptions|SeriesBulletDataDragDropGuideBoxOptions|
- SeriesCandlestickDataDragDropGuideBoxOptions|SeriesColumnDataDragDropGuideBoxOptions|SeriesColumnpyramidDataDragDropGuideBoxOptions|SeriesColumnrangeDataDragDropGuideBoxOptions|
- SeriesCylinderDataDragDropGuideBoxOptions|SeriesDumbbellDataDragDropGuideBoxOptions|SeriesErrorbarDataDragDropGuideBoxOptions|SeriesFlagsDataDragDropGuideBoxOptions|
- SeriesFunnelDataDragDropGuideBoxOptions|SeriesGanttDataDragDropGuideBoxOptions|SeriesGaugeDataDragDropGuideBoxOptions|SeriesHeatmapDataDragDropGuideBoxOptions|SeriesItemDataDragDropGuideBoxOptions|
- SeriesLineDataDragDropGuideBoxOptions|SeriesLollipopDataDragDropGuideBoxOptions|SeriesNetworkgraphDataDragDropGuideBoxOptions|SeriesOhlcDataDragDropGuideBoxOptions|
- SeriesPackedbubbleDataDragDropGuideBoxOptions|SeriesParetoDataDragDropGuideBoxOptions|SeriesPieDataDragDropGuideBoxOptions|SeriesPolygonDataDragDropGuideBoxOptions|
- SeriesPyramidDataDragDropGuideBoxOptions|SeriesScatter3dDataDragDropGuideBoxOptions|SeriesScatterDataDragDropGuideBoxOptions|SeriesSolidgaugeDataDragDropGuideBoxOptions|
- SeriesSplineDataDragDropGuideBoxOptions|SeriesStreamgraphDataDragDropGuideBoxOptions|SeriesSunburstDataDragDropGuideBoxOptions|SeriesTilemapDataDragDropGuideBoxOptions|
- SeriesTimelineDataDragDropGuideBoxOptions|SeriesTreemapDataDragDropGuideBoxOptions|SeriesVariablepieDataDragDropGuideBoxOptions|SeriesVariwideDataDragDropGuideBoxOptions|
- SeriesVectorDataDragDropGuideBoxOptions|SeriesVennDataDragDropGuideBoxOptions|SeriesWaterfallDataDragDropGuideBoxOptions|SeriesWindbarbDataDragDropGuideBoxOptions|
- SeriesWordcloudDataDragDropGuideBoxOptions|SeriesXrangeDataDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
- /**
- * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
- * false, a guide box is drawn to illustrate the new point size.
- */
- liveRedraw?: boolean;
- }
- /**
- * (Highcharts, Highstock) A `line` series. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `line` series are defined in plotOptions.line.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesLineOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesLineOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesLineOptions extends PlotLineOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `line` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- *
- * **Note:** In TypeScript you have to extend `PointOptionsObject` with an
- * additional declaration to allow custom data types: ```ts declare module
- * `highcharts` { interface PointOptionsObject { custom: Record<string,
- * (boolean|number|string)>; } } ```
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "line";
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesLollipopDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesLollipopDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) The `lollipop` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesLollipopOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesLollipopOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesLollipopOptions extends PlotLollipopOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `lollipop` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "lollipop";
- }
- /**
- * (Highstock) A `MACD` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `macd` series are defined in plotOptions.macd.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMacdOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesMacdOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesMacdOptions extends PlotMacdOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "macd";
- }
- /**
- * (Highmaps) An array of data points for the series. For the `mapbubble` series
- * type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will be
- * interpreted as `z` options. Example: (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of data
- * points exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- */
- export interface SeriesMapbubbleDataOptions {
- /**
- * (Highmaps) Individual color for the point. By default the color is either
- * used to denote the value, or pulled from the global `colors` array.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Individual data label for each point. The options are the same
- * as the ones for plotOptions.series.dataLabels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highmaps) The `id` of a series in the drilldown.series array to use for
- * a drilldown for this point.
- */
- drilldown?: string;
- /**
- * (Highmaps) Individual point events
- */
- events?: PointEventsOptionsObject;
- /**
- * (Highmaps) An id for the point. This can be used after render time to get
- * a pointer to the point object through `chart.get()`.
- */
- id?: string;
- /**
- * (Highmaps) The name of the point as shown in the legend, tooltip,
- * dataLabel etc.
- */
- name?: string;
- /**
- * (Highmaps) While the `x` and `y` values of the bubble are determined by
- * the underlying map, the `z` indicates the actual value that gives the
- * size of the bubble.
- */
- z?: (number|null);
- }
- /**
- * (Highmaps) A `mapbubble` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMapbubbleOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesMapbubbleOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesMapbubbleOptions extends PlotMapbubbleOptions, SeriesOptions {
- /**
- * (Highmaps) An array of data points for the series. For the `mapbubble`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `z` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|null|SeriesMapbubbleDataOptions)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "mapbubble";
- }
- /**
- * (Highmaps) An array of data points for the series. For the `map` series type,
- * points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will be
- * interpreted as `value` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond to
- * `[hc-key, value]`. Example: (see online documentation for example)
- *
- * 3. An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of data
- * points exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- */
- export interface SeriesMapDataOptions {
- /**
- * (Highmaps) Individual color for the point. By default the color is either
- * used to denote the value, or pulled from the global `colors` array.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Individual data label for each point. The options are the same
- * as the ones for plotOptions.series.dataLabels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highmaps) The `id` of a series in the drilldown.series array to use for
- * a drilldown for this point.
- */
- drilldown?: string;
- /**
- * (Highmaps) Individual point events
- */
- events?: PointEventsOptionsObject;
- /**
- * (Highmaps) An id for the point. This can be used after render time to get
- * a pointer to the point object through `chart.get()`.
- */
- id?: string;
- /**
- * (Highmaps) When data labels are laid out on a map, Highmaps runs a
- * simplified algorithm to detect collision. When two labels collide, the
- * one with the lowest rank is hidden. By default the rank is computed from
- * the area.
- */
- labelrank?: number;
- /**
- * (Highmaps) The relative mid point of an area, used to place the data
- * label. Ranges from 0 to 1\. When `mapData` is used, middleX can be
- * defined there.
- */
- middleX?: number;
- /**
- * (Highmaps) The relative mid point of an area, used to place the data
- * label. Ranges from 0 to 1\. When `mapData` is used, middleY can be
- * defined there.
- */
- middleY?: number;
- /**
- * (Highmaps) The name of the point as shown in the legend, tooltip,
- * dataLabel etc.
- */
- name?: string;
- /**
- * (Highmaps) For map and mapline series types, the SVG path for the shape.
- * For compatibily with old IE, not all SVG path definitions are supported,
- * but M, L and C operators are safe.
- *
- * To achieve a better separation between the structure and the data, it is
- * recommended to use `mapData` to define that paths instead of defining
- * them on the data points themselves.
- */
- path?: string;
- /**
- * (Highmaps) The numeric value of the data point.
- */
- value?: (number|null);
- }
- /**
- * (Highmaps) A `mapline` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mapline` series are defined in plotOptions.mapline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMaplineOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesMaplineOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesMaplineOptions extends PlotMaplineOptions, SeriesOptions {
- /**
- * (Highmaps) An array of data points for the series. For the `mapline`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `value` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `[hc-key, value]`. Example: (see online documentation for example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[string, (number|null)]|null|any)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "mapline";
- }
- /**
- * (Highmaps) A `map` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `map` series are defined in plotOptions.map.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMapOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesMapOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesMapOptions extends PlotMapOptions, SeriesOptions {
- /**
- * (Highmaps) An array of data points for the series. For the `map` series
- * type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `value` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `[hc-key, value]`. Example: (see online documentation for example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[string, (number|null)]|null|SeriesMapDataOptions)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "map";
- }
- /**
- * (Highmaps) An array of data points for the series. For the `mappoint` series
- * type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will be
- * interpreted as `y` options. The `x` values will be automatically calculated,
- * either starting at 0 and incremented by 1, or from `pointStart` and
- * `pointInterval` given in the series options. If the axis has categories,
- * these will be used. Example: (see online documentation for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond to
- * `x,y`. If the first value is a string, it is applied as the name of the
- * point, and the `x` value is inferred. (see online documentation for example)
- *
- * 3. An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of data
- * points exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- */
- export interface SeriesMappointDataOptions {
- /**
- * (Highmaps) Individual color for the point. By default the color is either
- * used to denote the value, or pulled from the global `colors` array.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) Individual data label for each point. The options are the same
- * as the ones for plotOptions.series.dataLabels.
- */
- dataLabels?: DataLabelsOptions;
- /**
- * (Highmaps) The `id` of a series in the drilldown.series array to use for
- * a drilldown for this point.
- */
- drilldown?: string;
- /**
- * (Highmaps) Individual point events
- */
- events?: PointEventsOptionsObject;
- /**
- * (Highmaps) An id for the point. This can be used after render time to get
- * a pointer to the point object through `chart.get()`.
- */
- id?: string;
- /**
- * (Highmaps) The latitude of the point. Must be combined with the `lon`
- * option to work. Overrides `x` and `y` values.
- */
- lat?: number;
- /**
- * (Highmaps) The longitude of the point. Must be combined with the `lon`
- * option to work. Overrides `x` and `y` values.
- */
- lon?: number;
- /**
- * (Highmaps) The name of the point as shown in the legend, tooltip,
- * dataLabel etc.
- */
- name?: string;
- /**
- * (Highmaps) The x coordinate of the point in terms of the map path
- * coordinates.
- */
- x?: number;
- /**
- * (Highmaps) The x coordinate of the point in terms of the map path
- * coordinates.
- */
- y?: (number|null);
- }
- /**
- * (Highmaps) A `mappoint` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMappointOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesMappointOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesMappointOptions extends PlotMappointOptions, SeriesOptions {
- /**
- * (Highmaps) An array of data points for the series. For the `mappoint`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[number, (number|null)]|null|SeriesMappointDataOptions)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "mappoint";
- }
- /**
- * (Highstock) A `MFI` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `mfi` series are defined in plotOptions.mfi.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMfiOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesMfiOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesMfiOptions extends PlotMfiOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "mfi";
- }
- /**
- * (Highstock) A `Momentum` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `momentum` series are defined in plotOptions.momentum.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesMomentumOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesMomentumOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesMomentumOptions extends PlotMomentumOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "momentum";
- }
- /**
- * (Highstock) A `NATR` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `natr` series are defined in plotOptions.natr.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesNatrOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesNatrOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesNatrOptions extends PlotNatrOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "natr";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesNetworkgraphDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesNetworkgraphDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * Context for the formatter function.
- */
- export interface SeriesNetworkgraphDataLabelsFormatterContextObject extends PointLabelObject {
- /**
- * The color of the node.
- */
- color: ColorString;
- /**
- * The ID of the node.
- */
- key: string;
- /**
- * The point (node) object. The node name, if defined, is available through
- * `this.point.name`. Arrays: `this.point.linksFrom` and
- * `this.point.linksTo` contains all nodes connected to this point.
- */
- point: Point;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface SeriesNetworkgraphDataLabelsOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotNetworkgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
- * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
- * since v7.1 defaults to `undefined` and `formatter` is used instead.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label for a node. Note that if a `format` is defined, the
- * format takes precedence and the formatter is ignored.
- */
- formatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
- * what to show for _links_ in the networkgraph. (Default: `undefined`)
- */
- linkFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
- * for _links_ in the sankey diagram. The `linkFormat` option takes
- * precedence over the `linkFormatter`.
- */
- linkFormatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
- * which should follow link connection. Border and background are disabled
- * for a label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- linkTextPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: (CSSObject|PlotNetworkgraphDataLabelsStyleOptions);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) A collection of options for the individual nodes. The nodes in a
- * networkgraph diagram are auto-generated instances of `Highcharts.Point`, but
- * options can be applied here and linked by the `id`.
- */
- export interface SeriesNetworkgraphNodesOptions {
- /**
- * (Highcharts) The color of the auto generated node.
- */
- color?: ColorString;
- /**
- * (Highcharts) The color index of the auto generated node, especially for
- * use in styled mode.
- */
- colorIndex?: number;
- /**
- * (Highcharts) Individual data label for each node. The options are the
- * same as the ones for series.networkgraph.dataLabels.
- */
- dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
- /**
- * (Highcharts) The id of the auto-generated node, refering to the `from` or
- * `to` setting of the link.
- */
- id?: string;
- /**
- * (Highcharts) Mass of the node. By default, each node has mass equal to
- * it's marker radius . Mass is used to determine how two connected nodes
- * should affect each other:
- *
- * Attractive force is multiplied by the ratio of two connected nodes; if a
- * big node has weights twice as the small one, then the small one will move
- * towards the big one twice faster than the big one to the small one .
- */
- mass?: number;
- /**
- * (Highcharts) The name to display for the node in data labels and
- * tooltips. Use this when the name is different from the `id`. Where the id
- * must be unique for each node, this is not necessary for the name.
- */
- name?: string;
- }
- /**
- * (Highcharts) A `networkgraph` series. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `networkgraph` series are defined in
- * plotOptions.networkgraph.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesNetworkgraphOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesNetworkgraphOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesNetworkgraphOptions extends PlotNetworkgraphOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the
- * `networkgraph` series type, points can be given in the following way:
- *
- * An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of
- * data points exceeds the series' turboThreshold, this option is not
- * available. (see online documentation for example)
- */
- data?: (PointOptionsObject|Array<(object|any[]|number)>);
- /**
- * (Highcharts) A collection of options for the individual nodes. The nodes
- * in a networkgraph diagram are auto-generated instances of
- * `Highcharts.Point`, but options can be applied here and linked by the
- * `id`.
- */
- nodes?: Array<SeriesNetworkgraphNodesOptions>;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "networkgraph";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Highcharts, Highstock) Enable or disable the initial animation when a series
- * is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesOhlcDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
- * `0` renders dataLabel immediately. As `undefined` inherits defer time
- * from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highstock) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesOhlcDataDragDropGuideBoxOptions {
- /**
- * (Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highstock) A `ohlc` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesOhlcOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesOhlcOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesOhlcOptions extends PlotOhlcOptions, SeriesOptions {
- /**
- * (Highstock) An array of data points for the series. For the `ohlc` series
- * type, points can be given in the following ways:
- *
- * 1. An array of arrays with 5 or 4 values. In this case, the values
- * correspond to `x,open,high,low,close`. If the first value is a string, it
- * is applied as the name of the point, and the `x` value is inferred. The
- * `x` value can also be omitted, in which case the inner arrays should be
- * of length 4\. Then the `x` value is automatically calculated, either
- * starting at 0 and incremented by 1, or from `pointStart` and
- * `pointInterval` given in the series options. (see online documentation
- * for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "ohlc";
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data and
- * the data itself. In TypeScript you have to cast the series options to
- * specific series types, to get all possible options for a series.
- *
- * You have to extend the `SeriesOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesOptions { customProperty: string; }
- *
- */
- export interface SeriesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An id for the series. This can
- * be used after render time to get a pointer to the series object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The index of the series in the
- * chart, affecting the internal index in the `chart.series` array, the
- * visible Z index as well as the order in the legend.
- */
- index?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The sequential index of the
- * series in the legend.
- */
- legendIndex?: number;
- /**
- * (Highmaps) A map data object containing a `path` definition and
- * optionally additional properties to join in the data as per the `joinBy`
- * option.
- */
- mapData?: (Array<SeriesMapDataOptions>|any);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of the series as shown
- * in the legend, tooltip etc.
- */
- name?: string;
- /**
- * (Highcharts, Highstock) This option allows grouping series in a stacked
- * chart. The stack option can be a string or anything else, as long as the
- * grouped series' stack options match each other after conversion into a
- * string.
- */
- stack?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The type of series, for example
- * `line` or `column`. By default, the series type is inherited from
- * chart.type, so unless the chart is a combination of series types, there
- * is no need to set it on the series level.
- */
- type: string;
- /**
- * (Highcharts, Highstock) When using dual or multiple x axes, this number
- * defines which xAxis the particular series is connected to. It refers to
- * either the axis id or the index of the axis in the xAxis array, with 0
- * being the first.
- */
- xAxis?: (number|string);
- /**
- * (Highcharts, Highstock) When using dual or multiple y axes, this number
- * defines which yAxis the particular series is connected to. It refers to
- * either the axis id or the index of the axis in the yAxis array, with 0
- * being the first.
- */
- yAxis?: (number|string);
- /**
- * (Highcharts, Highstock) Define the visual z index of the series.
- */
- zIndex?: number;
- }
- /**
- * The registry for all types of series options.
- */
- export interface SeriesOptionsRegistry {
- SeriesAbandsOptions: SeriesAbandsOptions;
- SeriesAdOptions: SeriesAdOptions;
- SeriesAoOptions: SeriesAoOptions;
- SeriesApoOptions: SeriesApoOptions;
- SeriesAreaOptions: SeriesAreaOptions;
- SeriesArearangeOptions: SeriesArearangeOptions;
- SeriesAreasplineOptions: SeriesAreasplineOptions;
- SeriesAreasplinerangeOptions: SeriesAreasplinerangeOptions;
- SeriesAroonOptions: SeriesAroonOptions;
- SeriesAroonoscillatorOptions: SeriesAroonoscillatorOptions;
- SeriesAtrOptions: SeriesAtrOptions;
- SeriesBarOptions: SeriesBarOptions;
- SeriesBbOptions: SeriesBbOptions;
- SeriesBellcurveOptions: SeriesBellcurveOptions;
- SeriesBoxplotOptions: SeriesBoxplotOptions;
- SeriesBubbleOptions: SeriesBubbleOptions;
- SeriesBulletOptions: SeriesBulletOptions;
- SeriesCandlestickOptions: SeriesCandlestickOptions;
- SeriesCciOptions: SeriesCciOptions;
- SeriesChaikinOptions: SeriesChaikinOptions;
- SeriesCmfOptions: SeriesCmfOptions;
- SeriesColumnOptions: SeriesColumnOptions;
- SeriesColumnpyramidOptions: SeriesColumnpyramidOptions;
- SeriesColumnrangeOptions: SeriesColumnrangeOptions;
- SeriesCylinderOptions: SeriesCylinderOptions;
- SeriesDemaOptions: SeriesDemaOptions;
- SeriesDependencywheelOptions: SeriesDependencywheelOptions;
- SeriesDpoOptions: SeriesDpoOptions;
- SeriesDumbbellOptions: SeriesDumbbellOptions;
- SeriesEmaOptions: SeriesEmaOptions;
- SeriesErrorbarOptions: SeriesErrorbarOptions;
- SeriesFlagsOptions: SeriesFlagsOptions;
- SeriesFunnel3dOptions: SeriesFunnel3dOptions;
- SeriesFunnelOptions: SeriesFunnelOptions;
- SeriesGanttOptions: SeriesGanttOptions;
- SeriesGaugeOptions: SeriesGaugeOptions;
- SeriesHeatmapOptions: SeriesHeatmapOptions;
- SeriesHistogramOptions: SeriesHistogramOptions;
- SeriesIkhOptions: SeriesIkhOptions;
- SeriesItemOptions: SeriesItemOptions;
- SeriesKeltnerchannelsOptions: SeriesKeltnerchannelsOptions;
- SeriesLinearregressionangleOptions: SeriesLinearregressionangleOptions;
- SeriesLinearregressioninterceptOptions: SeriesLinearregressioninterceptOptions;
- SeriesLinearregressionOptions: SeriesLinearregressionOptions;
- SeriesLinearregressionslopeOptions: SeriesLinearregressionslopeOptions;
- SeriesLineOptions: SeriesLineOptions;
- SeriesLollipopOptions: SeriesLollipopOptions;
- SeriesMacdOptions: SeriesMacdOptions;
- SeriesMapbubbleOptions: SeriesMapbubbleOptions;
- SeriesMaplineOptions: SeriesMaplineOptions;
- SeriesMapOptions: SeriesMapOptions;
- SeriesMappointOptions: SeriesMappointOptions;
- SeriesMfiOptions: SeriesMfiOptions;
- SeriesMomentumOptions: SeriesMomentumOptions;
- SeriesNatrOptions: SeriesNatrOptions;
- SeriesNetworkgraphOptions: SeriesNetworkgraphOptions;
- SeriesOhlcOptions: SeriesOhlcOptions;
- SeriesOrganizationOptions: SeriesOrganizationOptions;
- SeriesPackedbubbleOptions: SeriesPackedbubbleOptions;
- SeriesParetoOptions: SeriesParetoOptions;
- SeriesPcOptions: SeriesPcOptions;
- SeriesPieOptions: SeriesPieOptions;
- SeriesPivotpointsOptions: SeriesPivotpointsOptions;
- SeriesPolygonOptions: SeriesPolygonOptions;
- SeriesPpoOptions: SeriesPpoOptions;
- SeriesPriceenvelopesOptions: SeriesPriceenvelopesOptions;
- SeriesPsarOptions: SeriesPsarOptions;
- SeriesPyramid3dOptions: SeriesPyramid3dOptions;
- SeriesPyramidOptions: SeriesPyramidOptions;
- SeriesRocOptions: SeriesRocOptions;
- SeriesRsiOptions: SeriesRsiOptions;
- SeriesSankeyOptions: SeriesSankeyOptions;
- SeriesScatter3dOptions: SeriesScatter3dOptions;
- SeriesScatterOptions: SeriesScatterOptions;
- SeriesSlowstochasticOptions: SeriesSlowstochasticOptions;
- SeriesSmaOptions: SeriesSmaOptions;
- SeriesSolidgaugeOptions: SeriesSolidgaugeOptions;
- SeriesSplineOptions: SeriesSplineOptions;
- SeriesStochasticOptions: SeriesStochasticOptions;
- SeriesStreamgraphOptions: SeriesStreamgraphOptions;
- SeriesSunburstOptions: SeriesSunburstOptions;
- SeriesSupertrendOptions: SeriesSupertrendOptions;
- SeriesTemaOptions: SeriesTemaOptions;
- SeriesTilemapOptions: SeriesTilemapOptions;
- SeriesTimelineOptions: SeriesTimelineOptions;
- SeriesTreemapOptions: SeriesTreemapOptions;
- SeriesTrendlineOptions: SeriesTrendlineOptions;
- SeriesTrixOptions: SeriesTrixOptions;
- SeriesVariablepieOptions: SeriesVariablepieOptions;
- SeriesVariwideOptions: SeriesVariwideOptions;
- SeriesVbpOptions: SeriesVbpOptions;
- SeriesVectorOptions: SeriesVectorOptions;
- SeriesVennOptions: SeriesVennOptions;
- SeriesVwapOptions: SeriesVwapOptions;
- SeriesWaterfallOptions: SeriesWaterfallOptions;
- SeriesWilliamsrOptions: SeriesWilliamsrOptions;
- SeriesWindbarbOptions: SeriesWindbarbOptions;
- SeriesWmaOptions: SeriesWmaOptions;
- SeriesWordcloudOptions: SeriesWordcloudOptions;
- SeriesXrangeOptions: SeriesXrangeOptions;
- SeriesZigzagOptions: SeriesZigzagOptions;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesOrganizationDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
- * appearing on top of the nodes and links. For sankey charts, data labels are
- * visible for the nodes by default, but hidden for links. This is controlled by
- * modifying the `nodeFormat`, and the `format` that applies to links and is an
- * empty string by default.
- */
- export interface SeriesOrganizationDataLabelsOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotOrganizationDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
- * what to show for _nodes_ in the sankey diagram. By default the
- * `nodeFormatter` returns `{point.name}`.
- */
- nodeFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback for defining the
- * format for _nodes_ in the organization chart. The `nodeFormat` option
- * takes precedence over `nodeFormatter`.
- *
- * In an organization chart, the `nodeFormatter` is a quite complex function
- * of the available options, striving for a good default layout of cards
- * with or without images. In organization chart, the data labels come with
- * `useHTML` set to true, meaning they will be rendered as true HTML above
- * the SVG.
- */
- nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesOrganizationNodesDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) An `organization` series. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `organization` series are defined in
- * plotOptions.organization.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesOrganizationOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesOrganizationOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesOrganizationOptions extends PlotOrganizationOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the
- * `organization` series type, points can be given in the following way:
- *
- * An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of
- * data points exceeds the series' turboThreshold, this option is not
- * available. (see online documentation for example)
- */
- data?: Array<SeriesSankeyPointOptionsObject>;
- /**
- * (Highcharts) A collection of options for the individual nodes. The nodes
- * in an org chart are auto-generated instances of `Highcharts.Point`, but
- * options can be applied here and linked by the `id`.
- */
- nodes?: Array<SeriesSankeyNodesOptionsObject>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "organization";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesPackedbubbleDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesPackedbubbleDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * Context for the formatter function.
- */
- export interface SeriesPackedBubbleDataLabelsFormatterContextObject extends PointLabelObject {
- /**
- * The color of the node.
- */
- color: ColorString;
- /**
- * The ID of the node.
- */
- key: string;
- /**
- * The point (node) object. The node name, if defined, is available through
- * `this.point.name`. Arrays: `this.point.linksFrom` and
- * `this.point.linksTo` contains all nodes connected to this point.
- */
- point: Point;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface SeriesPackedBubbleDataLabelsOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotPackedbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Presentation attributes for the
- * text path.
- */
- attributes?: SVGAttributes;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
- * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
- * since v7.1 defaults to `undefined` and `formatter` is used instead.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label for a node. Note that if a `format` is defined, the
- * format takes precedence and the formatter is ignored.
- */
- formatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- parentNodeFormat?: string;
- parentNodeFormatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
- parentNodeTextPath?: SeriesPackedBubbleDataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: (CSSObject|PlotPackedbubbleDataLabelsStyleOptions);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a _node_ label text
- * which should follow marker's shape.
- *
- * **Note:** Only SVG-based renderer supports this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- export interface SeriesPackedBubbleDataLabelsTextPathOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable `textPath`
- * option for link's or marker's data labels.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts) A `packedbubble` series. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `packedbubble` series are defined in
- * plotOptions.packedbubble.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPackedbubbleOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesPackedbubbleOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesPackedbubbleOptions extends PlotPackedbubbleOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the
- * `packedbubble` series type, points can be given in the following ways:
- *
- * 1. An array of `values`. (see online documentation for example)
- *
- * 2. An array of objects with named values. The objects are point
- * configuration objects as seen below. If the total number of data points
- * exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- */
- data?: (PointOptionsObject|Array<(object|any[])>);
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "packedbubble";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesParetoDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesParetoDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `pareto` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pareto` series are defined in plotOptions.pareto.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesParetoOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesParetoOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesParetoOptions extends PlotParetoOptions, SeriesOptions {
- /**
- * (Highcharts) An integer identifying the index to use for the base series,
- * or a string representing the id of the series.
- */
- baseSeries?: (number|string);
- /**
- * (Highcharts) An array of data points for the series. For the `pareto`
- * series type, points are calculated dynamically.
- */
- data?: Array<(Array<(number|string)>|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "pareto";
- }
- /**
- * (Highstock) A Price channel indicator. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pc` series are defined in plotOptions.pc.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPcOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesPcOptions { customProperty: string; }
- *
- */
- export interface SeriesPcOptions extends PlotPcOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "pc";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesPieDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesPieDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface SeriesPieDataLabelsOptionsObject {
- /**
- * (Highcharts) Alignment method for data labels. Possible values are:
- *
- * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
- * area.
- *
- * - `connectors`: Connectors have the same x position and the widest label
- * of each half (left & right) touches the nearest vertical edge of the plot
- * area.
- */
- alignTo?: string;
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotFunnelDataLabelsAnimationOptions|PlotItemDataLabelsAnimationOptions|PlotPieDataLabelsAnimationOptions|PlotPyramidDataLabelsAnimationOptions|
- PlotVariablepieDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The color of the line connecting the data label to the pie
- * slice. The default color is the same as the point's color.
- *
- * In styled mode, the connector stroke is given in the
- * `.highcharts-data-label-connector` class.
- */
- connectorColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The distance from the data label to the connector. Note that
- * data labels also have a default `padding`, so in order for the connector
- * to touch the text, the `padding` must also be 0.
- */
- connectorPadding?: number;
- /**
- * (Highcharts) Specifies the method that is used to generate the connector
- * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
- * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
- * the most sense (in most of the cases) when `'alignTo'` is set.
- *
- * Users can provide their own method by passing a function instead of a
- * String. 3 arguments are passed to the callback:
- *
- * - Object that holds the information about the coordinates of the label
- * (`x` & `y` properties) and how the label is located in relation to the
- * pie (`alignment` property). `alignment` can by one of the following:
- * `'left'` (pie on the left side of the data label), `'right'` (pie on the
- * right side of the data label) or `'center'` (data label overlaps the
- * pie).
- *
- * - Object that holds the information about the position of the connector.
- * Its `touchingSliceAt` porperty tells the position of the place where the
- * connector touches the slice.
- *
- * - Data label options
- *
- * The function has to return an SVG path definition in array form (see the
- * example).
- */
- connectorShape?: (string|Function);
- /**
- * (Highcharts) The width of the line connecting the data label to the pie
- * slice.
- *
- * In styled mode, the connector stroke width is given in the
- * `.highcharts-data-label-connector` class.
- */
- connectorWidth?: number;
- /**
- * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
- * defines how far from the vertical plot edge the coonnector path should be
- * crooked.
- */
- crookDistance?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts) The distance of the data label from the pie's edge. Negative
- * numbers put the data label on top of the pie slices. Can also be defined
- * as a percentage of pie's radius. Connectors are only shown for data
- * labels outside the pie.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts) Whether to render the connector as a soft arc or a line with
- * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
- */
- softConnector?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (string|VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) A `pie` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pie` series are defined in plotOptions.pie.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPieOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesPieOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesPieOptions extends PlotPieOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `pie` series
- * type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "pie";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Highstock) A pivot points indicator. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pivotpoints` series are defined in
- * plotOptions.pivotpoints.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPivotpointsOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesPivotpointsOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesPivotpointsOptions extends PlotPivotpointsOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "pivotpoints";
- }
- /**
- * Translation and scale for the plot area of a series.
- */
- export interface SeriesPlotBoxObject {
- scaleX: number;
- scaleY: number;
- translateX: number;
- translateY: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesPolygonDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesPolygonDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `polygon` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `polygon` series are defined in plotOptions.polygon.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPolygonOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesPolygonOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesPolygonOptions extends PlotPolygonOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `polygon` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "polygon";
- }
- /**
- * (Highstock) A `Percentage Price Oscillator` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `ppo` series are defined in plotOptions.ppo.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPpoOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesPpoOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesPpoOptions extends PlotPpoOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "ppo";
- }
- /**
- * (Highstock) A price envelopes indicator. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `priceenvelopes` series are defined in
- * plotOptions.priceenvelopes.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPriceenvelopesOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesPriceenvelopesOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesPriceenvelopesOptions extends PlotPriceenvelopesOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "priceenvelopes";
- }
- /**
- * (Highstock) A `PSAR` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `psar` series are defined in plotOptions.psar.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPsarOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesPsarOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesPsarOptions extends PlotPsarOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "psar";
- }
- /**
- * (Highcharts) A `pyramid3d` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPyramid3dOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesPyramid3dOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesPyramid3dOptions extends PlotPyramid3dOptions, SeriesOptions {
- /**
- * Not available
- */
- allAreas?: undefined;
- /**
- * Not available
- */
- boostThreshold?: undefined;
- /**
- * (Highcharts) The center of the series. By default, it is centered in the
- * middle of the plot area, so it fills the plot area height.
- */
- center?: Array<(number|string)>;
- /**
- * Not available
- */
- colorAxis?: undefined;
- /**
- * Not available
- */
- compare?: undefined;
- /**
- * Not available
- */
- compareBase?: undefined;
- /**
- * (Highcharts) Polar charts only. Whether to connect the ends of a line
- * series plot across the extremes.
- */
- connectEnds?: boolean;
- /**
- * (Highcharts, Highstock) Whether to connect a graph line across null
- * points, or render a gap between the two points on either side of the
- * null.
- */
- connectNulls?: boolean;
- /**
- * Not available
- */
- dataSorting?: undefined;
- /**
- * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
- * right. Defaults to `startAngle` plus 360.
- */
- endAngle?: number;
- /**
- * (Highcharts) If the total sum of the pie's values is 0, the series is
- * represented as an empty circle . The `fillColor` option defines the color
- * of that circle. Use pie.borderWidth to set the border thickness.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Defines when to display a gap in the graph, together with the
- * gapUnit option.
- *
- * In case when `dataGrouping` is enabled, points can be grouped into a
- * larger time span. This can make the grouped points to have a greater
- * distance than the absolute value of `gapSize` property, which will result
- * in disappearing graph completely. To prevent this situation the mentioned
- * distance between grouped points is used instead of previously defined
- * `gapSize`.
- *
- * In practice, this option is most often used to visualize gaps in time
- * series. In a stock chart, intraday data is available for daytime hours,
- * while gaps will appear in nights and weekends.
- */
- gapSize?: number;
- /**
- * (Highstock) Together with gapSize, this option defines where to draw gaps
- * in the graph.
- *
- * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
- * if the distance between two points is greater than 5 times that of the
- * two closest points, the graph will be broken.
- *
- * When the `gapUnit` is `"value"`, the gap is based on absolute axis
- * values, which on a datetime axis is milliseconds. This also applies to
- * the navigator series that inherits gap options from the base series.
- */
- gapUnit?: OptionsGapUnitValue;
- /**
- * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
- * whether the series shall be redrawn as if the hidden point were `null`.
- *
- * The default value changed from `false` to `true` with Highcharts 3.0.
- */
- ignoreHiddenPoint?: boolean;
- /**
- * (Highcharts, Highstock) The line cap used for line ends and line joins on
- * the graph.
- */
- linecap?: SeriesLinecapValue;
- /**
- * (Highcharts, Highstock) Pixel width of the graph line.
- */
- lineWidth?: number;
- /**
- * (Highcharts) Options for the point markers of line-like series.
- * Properties like `fillColor`, `lineColor` and `lineWidth` define the
- * visual appearance of the markers. Other series types, like column series,
- * don't have markers, but have visual options on the series level instead.
- *
- * In styled mode, the markers can be styled with the `.highcharts-point`,
- * `.highcharts-point-hover` and `.highcharts-point-select` class names.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts) The minimum size for a pie in response to auto margins. The
- * pie will try to shrink to make room for data labels in side the plot
- * area, but only to this size.
- */
- minSize?: (number|string);
- /**
- * (Highcharts) If a point is sliced, moved out from the center, how many
- * pixels should it be moved?.
- */
- slicedOffset?: number;
- /**
- * (Highcharts) The start angle of the pie slices in degrees where 0 is top
- * and 90 right.
- */
- startAngle?: number;
- /**
- * (Highcharts, Highstock) Whether to apply steps to the line. Possible
- * values are `left`, `center` and `right`.
- */
- step?: OptionsStepValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "pyramid3d";
- /**
- * (Highstock) The parameter allows setting line series type and use OHLC
- * indicators. Data in OHLC format is required.
- */
- useOhlcData?: boolean;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesPyramidDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesPyramidDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `pyramid` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesPyramidOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesPyramidOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesPyramidOptions extends PlotPyramidOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `pyramid`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "pyramid";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Highstock) A `ROC` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * Rate of change indicator (ROC). The indicator value for each point is defined
- * as:
- *
- * `(C - Cn) / Cn * 100`
- *
- * where: `C` is the close value of the point of the same x in the linked series
- * and `Cn` is the close value of the point `n` periods ago. `n` is set through
- * period.
- *
- * This series requires `linkedTo` option to be set.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `roc` series are defined in plotOptions.roc.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesRocOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesRocOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesRocOptions extends PlotRocOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "roc";
- }
- /**
- * (Highstock) A `RSI` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `rsi` series are defined in plotOptions.rsi.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesRsiOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesRsiOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesRsiOptions extends PlotRsiOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "rsi";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesSankeyDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * Context for the node formatter function.
- */
- export interface SeriesSankeyDataLabelsFormatterContextObject extends PointLabelObject {
- /**
- * The node object. The node name, if defined, is available through
- * `this.point.name`.
- */
- point: SankeyNodeObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each node.
- * The options are the same as the ones for series.sankey.dataLabels.
- */
- export interface SeriesSankeyDataLabelsOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotDependencywheelDataLabelsAnimationOptions|PlotDependencywheelLevelsDataLabelsAnimationOptions|PlotOrganizationLevelsDataLabelsAnimationOptions|
- PlotSankeyDataLabelsAnimationOptions|PlotSankeyLevelsDataLabelsAnimationOptions|SeriesDependencywheelNodesDataLabelsAnimationOptions|SeriesOrganizationNodesDataLabelsAnimationOptions|
- SeriesSankeyNodesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
- * what to show for _nodes_ in the sankey diagram. By default the
- * `nodeFormatter` returns `{point.name}`.
- */
- nodeFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
- * for _nodes_ in the sankey diagram. The `nodeFormat` option takes
- * precedence over the `nodeFormatter`.
- */
- nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation can
- * also be set as a configuration object. Please note that this option only
- * applies to the initial animation. For other animations, see chart.animation
- * and the animation parameter under the API methods. The following properties
- * are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesSankeyNodesDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
- * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
- * inherits defer time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) A collection of options for the individual nodes. The nodes in a
- * sankey diagram are auto-generated instances of `Highcharts.Point`, but
- * options can be applied here and linked by the `id`.
- */
- export interface SeriesSankeyNodesOptionsObject {
- /**
- * (Highcharts) The color of the auto generated node.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The color index of the auto generated node, especially for
- * use in styled mode.
- */
- colorIndex?: number;
- /**
- * (Highcharts) An optional column index of where to place the node. The
- * default behaviour is to place it next to the preceding node. Note that
- * this option name is counter intuitive in inverted charts, like for
- * example an organization chart rendered top down. In this case the
- * "columns" are horizontal.
- */
- column?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each
- * node. The options are the same as the ones for series.sankey.dataLabels.
- */
- dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|
- Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) The job description for the node card, will be inserted by
- * the default `dataLabel.nodeFormatter`.
- */
- description?: string;
- /**
- * (Highcharts) The id of the auto-generated node, refering to the `from` or
- * `to` setting of the link.
- */
- id?: string;
- /**
- * (Highcharts) An image for the node card, will be inserted by the default
- * `dataLabel.nodeFormatter`.
- */
- image?: string;
- /**
- * (Highcharts) Layout for the node's children. If `hanging`, this node's
- * children will hang below their parent, allowing a tighter packing of
- * nodes in the diagram.
- */
- layout?: SeriesOrganizationNodesLayoutValue;
- /**
- * (Highcharts) An optional level index of where to place the node. The
- * default behaviour is to place it next to the preceding node. Alias of
- * `nodes.column`, but in inverted sankeys and org charts, the levels are
- * laid out as rows.
- */
- level?: number;
- /**
- * (Highcharts) The name to display for the node in data labels and
- * tooltips. Use this when the name is different from the `id`. Where the id
- * must be unique for each node, this is not necessary for the name.
- */
- name?: string;
- /**
- * (Highcharts) In a horizontal layout, the vertical offset of a node in
- * terms of weight. Positive values shift the node downwards, negative shift
- * it upwards. In a vertical layout, like organization chart, the offset is
- * horizontal.
- *
- * If a percantage string is given, the node is offset by the percentage of
- * the node size plus `nodePadding`.
- */
- offset?: (number|string);
- /**
- * (Highcharts) The job title for the node card, will be inserted by the
- * default `dataLabel.nodeFormatter`.
- */
- title?: string;
- }
- /**
- * (Highcharts) A `sankey` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `sankey` series are defined in plotOptions.sankey.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSankeyOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesSankeyOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesSankeyOptions extends PlotSankeyOptions, SeriesOptions {
- /**
- * Not available
- */
- borderRadius?: undefined;
- /**
- * (Highcharts) An array of data points for the series. For the `sankey`
- * series type, points can be given in the following way:
- *
- * An array of objects with named values. The following snippet shows only a
- * few settings, see the complete options set below. If the total number of
- * data points exceeds the series' turboThreshold, this option is not
- * available. (see online documentation for example)
- */
- data?: Array<SeriesSankeyPointOptionsObject>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- depth?: undefined;
- /**
- * Not available
- */
- edgeColor?: undefined;
- /**
- * Not available
- */
- edgeWidth?: undefined;
- /**
- * Not available
- */
- grouping?: undefined;
- /**
- * Not available
- */
- groupPadding?: undefined;
- /**
- * Not available
- */
- groupZPadding?: undefined;
- /**
- * Not available
- */
- maxPointWidth?: undefined;
- /**
- * (Highcharts) A collection of options for the individual nodes. The nodes
- * in a sankey diagram are auto-generated instances of `Highcharts.Point`,
- * but options can be applied here and linked by the `id`.
- */
- nodes?: Array<SeriesSankeyNodesOptionsObject>;
- /**
- * Not available
- */
- pointPadding?: undefined;
- /**
- * Not available
- */
- pointWidth?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "sankey";
- }
- /**
- * (Highcharts) An array of data points for the series. For the `sankey` series
- * type, points can be given in the following way:
- *
- * An array of objects with named values. The following snippet shows only a few
- * settings, see the complete options set below. If the total number of data
- * points exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- */
- export interface SeriesSankeyPointOptionsObject {
- /**
- * (Highcharts) Accessibility options for a data point.
- */
- accessibility?: PointAccessibilityOptionsObject;
- /**
- * (Highcharts, Gantt) An additional, individual class name for the data
- * point's graphic representation.
- */
- className?: string;
- /**
- * (Highcharts) The color for the individual _link_. By default, the link
- * color is the same as the node it extends from. The `series.fillOpacity`
- * option also applies to the points, so when setting a specific link color,
- * consider setting the `fillOpacity` to 1.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Gantt) A specific color index to use for the point, so its
- * graphic representations are given the class name `highcharts-color-{n}`.
- * In styled mode this will change the color of the graphic. In non-styled
- * mode, the color by is set by the `fill` attribute, so the change in class
- * name won't have a visual effect by default.
- */
- colorIndex?: number;
- /**
- * (Highcharts) A reserved subspace to store options and values for
- * customized functionality. Here you can add additional data for your own
- * event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts) Individual data label for each point. The options are the
- * same as the ones for plotOptions.series.dataLabels.
- */
- dataLabels?: (DataLabelsOptions|SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|
- Array<SeriesSankeyDataLabelsOptionsObject>);
- /**
- * (Highcharts) A description of the point to add to the screen reader
- * information about the point.
- */
- description?: string;
- /**
- * (Highcharts, Highstock, Gantt) The individual point events.
- */
- events?: PointEventsOptionsObject;
- /**
- * (Highcharts) The node that the link runs from.
- */
- from?: string;
- /**
- * (Highcharts, Highstock, Gantt) An id for the point. This can be used
- * after render time to get a pointer to the point object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts) The rank for this point's data label in case of collision.
- * If two data labels are about to overlap, only the one with the highest
- * `labelrank` will be drawn.
- */
- labelrank?: number;
- /**
- * (Highcharts) The name of the point as shown in the legend, tooltip,
- * dataLabels, etc.
- */
- name?: string;
- /**
- * (Highcharts) Whether the link goes out of the system.
- */
- outgoing?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether the data point is selected
- * initially.
- */
- selected?: boolean;
- /**
- * (Highcharts) The node that the link runs to.
- */
- to?: string;
- /**
- * (Highcharts) The weight of the link.
- */
- weight?: (number|null);
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesScatter3dDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesScatter3dDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `scatter3d` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * scatter3d](#plotOptions.scatter3d).
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesScatter3dOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesScatter3dOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesScatter3dOptions extends PlotScatter3dOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `scatter3d`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 values. In this case, the values correspond
- * to `x,y,z`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(Array<number>|PointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "scatter3d";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesScatterDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesScatterDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `scatter` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `scatter` series are defined in plotOptions.scatter.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesScatterOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesScatterOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesScatterOptions extends PlotScatterOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `scatter` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "scatter";
- /**
- * Not available
- */
- useOhlcData?: undefined;
- }
- /**
- * (Highstock) A Slow Stochastic indicator. If the type option is not specified,
- * it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `slowstochastic` series are defined in
- * plotOptions.slowstochastic.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSlowstochasticOptions` via an interface to
- * allow custom properties: ``` declare interface SeriesSlowstochasticOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesSlowstochasticOptions extends PlotSlowstochasticOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "slowstochastic";
- }
- /**
- * (Highstock) A `SMA` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `sma` series are defined in plotOptions.sma.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSmaOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesSmaOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesSmaOptions extends PlotSmaOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "sma";
- /**
- * Not available
- */
- useOhlcData?: undefined;
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesSolidgaugeDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesSolidgaugeDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `solidgauge` series. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSolidgaugeOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesSolidgaugeOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesSolidgaugeOptions extends PlotSolidgaugeOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `solidgauge`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- *
- * The typical gauge only contains a single data value.
- */
- data?: Array<(number|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- dial?: undefined;
- /**
- * Not available
- */
- pivot?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "solidgauge";
- /**
- * Not available
- */
- wrap?: undefined;
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesSplineDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesSplineDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `spline` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `spline` series are defined in plotOptions.spline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSplineOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesSplineOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesSplineOptions extends PlotSplineOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `spline` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "spline";
- }
- /**
- * (Highcharts, Highstock) Options for the halo appearing around the hovered
- * point in line-type series as well as outside the hovered slice in pie charts.
- * By default the halo is filled by the current point or series color with an
- * opacity of 0.25\. The halo can be disabled by setting the `halo` option to
- * `null`.
- *
- * In styled mode, the halo is styled with the `.highcharts-halo` class, with
- * colors inherited from `.highcharts-color-{n}`.
- */
- export interface SeriesStatesHoverHaloOptionsObject {
- /**
- * (Highcharts, Highstock) A collection of SVG attributes to override the
- * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
- */
- attributes?: (PlotTilemapStatesHoverHaloAttributesOptions|SVGAttributes);
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Opacity for the halo unless a specific fill is
- * overridden using the `attributes` setting. Note that Highcharts is only
- * able to apply opacity to colors of hex or rgb(a) formats.
- */
- opacity?: number;
- /**
- * (Highcharts, Highstock) The pixel size of the halo. For point markers
- * this is the radius of the halo. For pie slices it is the width of the
- * halo outside the slice. For bubbles it defaults to 5 and is the width of
- * the halo outside the bubble.
- */
- size?: number;
- }
- /**
- * (Highstock) Options for the hovered series. These settings override the
- * normal state options when a series is moused over or touched.
- */
- export interface SeriesStatesHoverOptionsObject {
- /**
- * (Highcharts, Highstock) Animation setting for hovering the graph in
- * line-type series.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) The border color of the point in this state.
- */
- borderColor?: (string|ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of the point in this state
- */
- borderWidth?: number;
- /**
- * (Highmaps) The relative brightness of the point when hovered, relative to
- * the normal point color.
- */
- brightness?: number;
- /**
- * (Highmaps) The color of the shape in this state.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The additional connector line width for a hovered
- * point.
- */
- connectorWidthPlus?: number;
- /**
- * (Highstock) Enable separate styles for the hovered series to visualize
- * that the user hovers either the series itself or the legend.
- */
- enabled?: boolean;
- /**
- * (Highstock) The fill or background color of the flag.
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Options for the halo appearing around the hovered
- * point in line-type series as well as outside the hovered slice in pie
- * charts. By default the halo is filled by the current point or series
- * color with an opacity of 0.25\. The halo can be disabled by setting the
- * `halo` option to `null`.
- *
- * In styled mode, the halo is styled with the `.highcharts-halo` class,
- * with colors inherited from `.highcharts-color-{n}`.
- */
- halo?: (SeriesStatesHoverHaloOptionsObject|null);
- /**
- * (Highstock) The color of the line/border of the flag.
- */
- lineColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) Pixel width of the graph line. By default this
- * property is undefined, and the `lineWidthPlus` property dictates how much
- * to increase the linewidth from normal state.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock) The additional line width for the graph of a
- * hovered series.
- */
- lineWidthPlus?: number;
- /**
- * (Highcharts, Highstock, Gantt) Opacity for the links between nodes in the
- * sankey diagram in hover mode.
- */
- linkOpacity?: number;
- /**
- * (Highcharts) The opacity of a point in treemap. When a point has
- * children, the visibility of the children is determined by the opacity.
- */
- opacity?: number;
- /**
- * (Highcharts) The shadow option for hovered state.
- */
- shadow?: boolean;
- }
- /**
- * (Highstock) The opposite state of a hover for series.
- */
- export interface SeriesStatesInactiveOptionsObject {
- /**
- * (Highstock) Animation when not hovering over the marker.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highstock) Enable or disable the inactive state for a series
- */
- enabled?: boolean;
- /**
- * (Highcharts) Opacity for the links between nodes in the sankey diagram in
- * inactive mode.
- */
- linkOpacity?: number;
- /**
- * (Highstock) Opacity of inactive markers.
- */
- opacity?: number;
- }
- /**
- * (Highstock) The normal state of a series, or for point items in column, pie
- * and similar series. Currently only used for setting animation when returning
- * to normal state from hover.
- */
- export interface SeriesStatesNormalOptionsObject {
- /**
- * (Highstock) Animation when returning to normal state after hovering.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- }
- /**
- * (Highcharts) A wrapper object for all the series options in specific states.
- */
- export interface SeriesStatesOptionsObject {
- /**
- * (Highstock) Options for the hovered series. These settings override the
- * normal state options when a series is moused over or touched.
- */
- hover?: SeriesStatesHoverOptionsObject;
- /**
- * (Highstock) The opposite state of a hover for series.
- */
- inactive?: SeriesStatesInactiveOptionsObject;
- /**
- * (Highstock) The normal state of a series, or for point items in column,
- * pie and similar series. Currently only used for setting animation when
- * returning to normal state from hover.
- */
- normal?: SeriesStatesNormalOptionsObject;
- /**
- * (Highstock) Specific options for point in selected states, after being
- * selected by allowPointSelect or programmatically.
- */
- select?: SeriesStatesSelectOptionsObject;
- }
- /**
- * (Highstock) Specific options for point in selected states, after being
- * selected by allowPointSelect or programmatically.
- */
- export interface SeriesStatesSelectOptionsObject {
- /**
- * (Highcharts, Highstock) Animation setting for hovering the graph in
- * line-type series.
- */
- animation?: (boolean|Partial<AnimationOptionsObject>);
- /**
- * (Highmaps) The border color of the point in this state.
- */
- borderColor?: (string|ColorString|GradientColorObject|PatternObject);
- /**
- * (Highmaps) The border width of the point in this state
- */
- borderWidth?: number;
- /**
- * (Highmaps) The color of the shape in this state.
- */
- color?: (string|ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Enable separate styles for the hovered series to visualize
- * that the user hovers either the series itself or the legend.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) Options for the halo appearing around the hovered
- * point in line-type series as well as outside the hovered slice in pie
- * charts. By default the halo is filled by the current point or series
- * color with an opacity of 0.25\. The halo can be disabled by setting the
- * `halo` option to `null`.
- *
- * In styled mode, the halo is styled with the `.highcharts-halo` class,
- * with colors inherited from `.highcharts-color-{n}`.
- */
- halo?: (SeriesStatesHoverHaloOptionsObject|null);
- /**
- * (Highcharts, Highstock) Pixel width of the graph line. By default this
- * property is undefined, and the `lineWidthPlus` property dictates how much
- * to increase the linewidth from normal state.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock) The additional line width for the graph of a
- * hovered series.
- */
- lineWidthPlus?: number;
- }
- /**
- * (Highstock) A Stochastic indicator. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesStochasticOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesStochasticOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesStochasticOptions extends PlotStochasticOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "stochastic";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesStreamgraphDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesStreamgraphDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `streamgraph` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `streamgraph` series are defined in
- * plotOptions.streamgraph.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesStreamgraphOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesStreamgraphOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesStreamgraphOptions extends PlotStreamgraphOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `streamgraph` series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "streamgraph";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesSunburstDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesSunburstDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all points
- * which lies on the same level.
- */
- export interface SeriesSunburstDataLabelsOptionsObject {
- /**
- * (Highcharts) Alignment method for data labels. Possible values are:
- *
- * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
- * area.
- *
- * - `connectors`: Connectors have the same x position and the widest label
- * of each half (left & right) touches the nearest vertical edge of the plot
- * area.
- */
- alignTo?: string;
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotSunburstDataLabelsAnimationOptions|PlotSunburstLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The color of the line connecting the data label to the pie
- * slice. The default color is the same as the point's color.
- *
- * In styled mode, the connector stroke is given in the
- * `.highcharts-data-label-connector` class.
- */
- connectorColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts) The distance from the data label to the connector. Note that
- * data labels also have a default `padding`, so in order for the connector
- * to touch the text, the `padding` must also be 0.
- */
- connectorPadding?: number;
- /**
- * (Highcharts) Specifies the method that is used to generate the connector
- * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
- * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
- * the most sense (in most of the cases) when `'alignTo'` is set.
- *
- * Users can provide their own method by passing a function instead of a
- * String. 3 arguments are passed to the callback:
- *
- * - Object that holds the information about the coordinates of the label
- * (`x` & `y` properties) and how the label is located in relation to the
- * pie (`alignment` property). `alignment` can by one of the following:
- * `'left'` (pie on the left side of the data label), `'right'` (pie on the
- * right side of the data label) or `'center'` (data label overlaps the
- * pie).
- *
- * - Object that holds the information about the position of the connector.
- * Its `touchingSliceAt` porperty tells the position of the place where the
- * connector touches the slice.
- *
- * - Data label options
- *
- * The function has to return an SVG path definition in array form (see the
- * example).
- */
- connectorShape?: (string|Function);
- /**
- * (Highcharts) The width of the line connecting the data label to the pie
- * slice.
- *
- * In styled mode, the connector stroke width is given in the
- * `.highcharts-data-label-connector` class.
- */
- connectorWidth?: number;
- /**
- * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
- * defines how far from the vertical plot edge the coonnector path should be
- * crooked.
- */
- crookDistance?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts) The distance of the data label from the pie's edge. Negative
- * numbers put the data label on top of the pie slices. Can also be defined
- * as a percentage of pie's radius. Connectors are only shown for data
- * labels outside the pie.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Decides how the data label will
- * be rotated relative to the perimeter of the sunburst. Valid values are
- * `auto`, `circular`, `parallel` and `perpendicular`. When `auto`, the best
- * fit will be computed for the point. The `circular` option works similiar
- * to `auto`, but uses the `textPath` feature - labels are curved, resulting
- * in a better layout, however multiple lines and `textOutline` are not
- * supported.
- *
- * The `series.rotation` option takes precedence over `rotationMode`.
- */
- rotationMode?: OptionsRotationModeValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
- * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
- * an object configuration containing `color`, `offsetX`, `offsetY`,
- * `opacity` and `width`.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts) Whether to render the connector as a soft arc or a line with
- * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
- */
- softConnector?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: (VerticalAlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * (Highcharts) A `sunburst` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSunburstOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesSunburstOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesSunburstOptions extends PlotSunburstOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `treemap`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `value` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "sunburst";
- }
- /**
- * (Highstock) A `Supertrend indicator` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesSupertrendOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesSupertrendOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesSupertrendOptions extends PlotSupertrendOptions, SeriesOptions {
- /**
- * Not available
- */
- data?: undefined;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "supertrend";
- }
- /**
- * (Highstock) A `TEMA` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `tema` series are defined in plotOptions.tema.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesTemaOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesTemaOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesTemaOptions extends PlotTemaOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "tema";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesTilemapDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
- * state by default, the `default` state.
- */
- export interface SeriesTilemapDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highmaps) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highmaps) A `tilemap` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesTilemapOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesTilemapOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesTilemapOptions extends PlotTilemapOptions, SeriesOptions {
- /**
- * (Highcharts, Highmaps) An array of data points for the series. For the
- * `tilemap` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,y,value`. If the first value is a string, it is applied
- * as the name of the point, and the `x` value is inferred. The `x` value
- * can also be omitted, in which case the inner arrays should be of length
- * 2\. Then the `x` value is automatically calculated, either starting at 0
- * and incremented by 1, or from `pointStart` and `pointInterval` given in
- * the series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The objects are point
- * configuration objects as seen below. If the total number of data points
- * exceeds the series' turboThreshold, this option is not available. (see
- * online documentation for example)
- *
- * Note that for some tileShapes the grid coordinates are offset.
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- mapData?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "tilemap";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesTimelineDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesTimelineDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) The `timeline` series. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `timeline` series are defined in plotOptions.timeline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesTimelineOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesTimelineOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesTimelineOptions extends PlotTimelineOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `timeline`
- * series type, points can be given with three general parameters, `name`,
- * `label`, and `description`:
- *
- * Example: (see online documentation for example) If all points
- * additionally have the `x` values, and xAxis type is set to `datetime`,
- * then events are laid out on a true time axis, where their placement
- * reflects the actual time between them.
- */
- data?: Array<PointOptionsObject>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "timeline";
- }
- /**
- * (Highstock) A configuration object for the tooltip rendering of each single
- * series. Properties are inherited from tooltip, but only the following
- * properties can be defined on a series level.
- */
- export interface SeriesTooltipOptionsObject {
- /**
- * (Highstock) How many decimals to show for the `point.change` value when
- * the `series.compare` option is set. This is overridable in each series'
- * tooltip options object. The default is to preserve all decimals.
- */
- changeDecimals?: number;
- /**
- * (Highstock) The HTML of the cluster point's in the tooltip. Works only
- * with marker-clusters module and analogously to pointFormat.
- *
- * The cluster tooltip can be also formatted using `tooltip.formatter`
- * callback function and `point.isCluster` flag.
- */
- clusterFormat?: object;
- /**
- * (Highcharts, Highstock, Gantt) For series on a datetime axes, the date
- * format in the tooltip's header will by default be guessed based on the
- * closest data points. This member gives the default string representations
- * used for each unit. For an overview of the replacement codes, see
- * dateFormat.
- */
- dateTimeLabelFormats?: Dictionary<string>;
- /**
- * (Highstock) Distance from point to tooltip in pixels.
- */
- distance?: number;
- /**
- * (Highstock) Whether the tooltip should follow the mouse as it moves
- * across columns, pie slices and other point types with an extent. By
- * default it behaves this way for pie, polygon, map, sankey and wordcloud
- * series by override in the `plotOptions` for those series types.
- *
- * For touch moves to behave the same way, followTouchMove must be `true`
- * also.
- */
- followPointer?: boolean;
- /**
- * (Highstock) Whether the tooltip should update as the finger moves on a
- * touch device. If this is `true` and chart.panning is
- * set,`followTouchMove` will take over one-finger touches, so the user
- * needs to use two fingers for zooming and panning.
- *
- * Note the difference to followPointer that only defines the _position_ of
- * the tooltip. If `followPointer` is false in for example a column series,
- * the tooltip will show above or below the column, but as `followTouchMove`
- * is true, the tooltip will jump from column to column as the user swipes
- * across the plot area.
- */
- followTouchMove?: boolean;
- /**
- * (Highstock) A string to append to the tooltip format.
- */
- footerFormat?: string;
- /**
- * (Highstock) The HTML of the tooltip header line. Variables are enclosed
- * by curly brackets. Available variables are `point.key`, `series.name`,
- * `series.color` and other members from the `point` and `series` objects.
- * The `point.key` variable contains the category name, x value or datetime
- * string depending on the type of axis. For datetime axes, the `point.key`
- * date format can be set using `tooltip.xDateFormat`.
- */
- headerFormat?: string;
- /**
- * (Highcharts) The format string specifying what to show for _nodes_ in
- * tooltip of a diagram series, as opposed to links.
- */
- nodeFormat?: string;
- /**
- * (Highcharts) A callback for defining the format for _nodes_ in the
- * chart's tooltip, as opposed to links.
- */
- nodeFormatter?: FormatterCallbackFunction<SankeyNodeObject>;
- /**
- * (Highstock) The HTML of the null point's line in the tooltip. Works
- * analogously to pointFormat.
- */
- nullFormat?: string;
- /**
- * (Highstock) Callback function to format the text of the tooltip for
- * visible null points. Works analogously to formatter.
- */
- nullFormatter?: TooltipFormatterCallbackFunction;
- /**
- * (Highstock) The HTML of the point's line in the tooltip. Variables are
- * enclosed by curly brackets. Available variables are point.x, point.y,
- * series. name and series.color and other properties on the same form.
- * Furthermore, `point.y` can be extended by the `tooltip.valuePrefix` and
- * `tooltip.valueSuffix` variables. This can also be overridden for each
- * series, which makes it a good hook for displaying units.
- *
- * In styled mode, the dot is colored by a class name rather than the point
- * color.
- */
- pointFormat?: string;
- /**
- * (Highstock) A callback function for formatting the HTML output for a
- * single point in the tooltip. Like the `pointFormat` string, but with more
- * flexibility.
- */
- pointFormatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highstock) Prevents the tooltip from switching or closing, when touched
- * or pointed.
- */
- stickOnContact?: boolean;
- /**
- * (Highstock) Number of decimals in indicator series.
- */
- valueDecimals?: number;
- /**
- * (Highstock) A string to prepend to each series' y value. Overridable in
- * each series' tooltip options object.
- */
- valuePrefix?: string;
- /**
- * (Highstock) A string to append to each series' y value. Overridable in
- * each series' tooltip options object.
- */
- valueSuffix?: string;
- /**
- * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
- * header if the X axis is a datetime axis. The default is a best guess
- * based on the smallest distance between points in the chart.
- */
- xDateFormat?: string;
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesTreemapDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesTreemapDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `treemap` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `treemap` series are defined in plotOptions.treemap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesTreemapOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesTreemapOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesTreemapOptions extends PlotTreemapOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `treemap`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `value` options. Example: (see online documentation for
- * example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "treemap";
- }
- /**
- * (Highstock) A `TrendLine` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `trendline` series are defined in plotOptions.trendline.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesTrendlineOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesTrendlineOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesTrendlineOptions extends PlotTrendlineOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "trendline";
- }
- /**
- * (Highstock) A `TRIX` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `trix` series are defined in plotOptions.trix.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesTrixOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesTrixOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesTrixOptions extends PlotTrixOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "trix";
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesVariablepieDataDataLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * dataLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesVariablepieDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `variablepie` series. If the type option is not specified, it
- * is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `variablepie` series are defined in
- * plotOptions.variablepie.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesVariablepieOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesVariablepieOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesVariablepieOptions extends PlotVariablepieOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the
- * `variablepie` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 2 values. In this case, the numerical values
- * will be interpreted as `y, z` options. Example: (see online documentation
- * for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "variablepie";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesVariwideDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesVariwideDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `variwide` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `variwide` series are defined in plotOptions.variwide.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesVariwideOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesVariwideOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesVariwideOptions extends PlotVariwideOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `variwide`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 or 2 values. In this case, the values
- * correspond to `x,y,z`. If the first value is a string, it is applied as
- * the name of the point, and the `x` value is inferred. The `x` value can
- * also be omitted, in which case the inner arrays should be of length 2.
- * Then the `x` value is automatically calculated, either starting at 0 and
- * incremented by 1, or from `pointStart` and `pointInterval` given in the
- * series options. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "variwide";
- }
- /**
- * (Highstock) A `Volume By Price (VBP)` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `vbp` series are defined in plotOptions.vbp.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesVbpOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesVbpOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesVbpOptions extends PlotVbpOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "vbp";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesVectorDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesVectorDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `vector` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `vector` series are defined in plotOptions.vector.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesVectorOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesVectorOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesVectorOptions extends PlotVectorOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `vector` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 4 values. In this case, the values correspond
- * to to `x,y,length,direction`. If the first value is a string, it is
- * applied as the name of the point, and the `x` value is inferred. (see
- * online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number, number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "vector";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesVennDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesVennDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `venn` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `venn` series are defined in plotOptions.venn.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesVennOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesVennOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesVennOptions extends PlotVennOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `scatter`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<PointOptionsObject>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * Not available
- */
- stack?: undefined;
- /**
- * Not available
- */
- steps?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "venn";
- /**
- * Not available
- */
- xAxis?: undefined;
- /**
- * Not available
- */
- yAxis?: undefined;
- }
- /**
- * (Highstock) A `Volume Weighted Average Price (VWAP)` series. If the type
- * option is not specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `vwap` series are defined in plotOptions.vwap.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesVwapOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesVwapOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesVwapOptions extends PlotVwapOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "vwap";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesWaterfallDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesWaterfallDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `waterfall` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesWaterfallOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesWaterfallOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesWaterfallOptions extends PlotWaterfallOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `waterfall`
- * series type, points can be given in the following ways:
- *
- * 1. An array of numerical values. In this case, the numerical values will
- * be interpreted as `y` options. The `x` values will be automatically
- * calculated, either starting at 0 and incremented by 1, or from
- * `pointStart` and `pointInterval` given in the series options. If the axis
- * has categories, these will be used. Example: (see online documentation
- * for example)
- *
- * 2. An array of arrays with 2 values. In this case, the values correspond
- * to `x,y`. If the first value is a string, it is applied as the name of
- * the point, and the `x` value is inferred. (see online documentation for
- * example)
- *
- * 3. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "waterfall";
- }
- /**
- * (Highstock) A `Williams %R Oscillator` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesWilliamsrOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesWilliamsrOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesWilliamsrOptions extends PlotWilliamsrOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "williamsr";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesWindbarbDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock) Style options for the guide box. The guide box has
- * one state by default, the `default` state.
- */
- export interface SeriesWindbarbDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock) A `windbarb` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesWindbarbOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesWindbarbOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesWindbarbOptions extends PlotWindbarbOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock) An array of data points for the series. For the
- * `windbarb` series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 3 values. In this case, the values correspond
- * to `x,value,direction`. If the first value is a string, it is applied as
- * the name of the point, and the `x` value is inferred. (see online
- * documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([(number|string), number, number]|PointOptionsObject)>;
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "windbarb";
- }
- /**
- * (Highstock) A `WMA` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `wma` series are defined in plotOptions.wma.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesWmaOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesWmaOptions { customProperty: string;
- * }
- *
- */
- export interface SeriesWmaOptions extends PlotWmaOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "wma";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesWordcloudDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) Style options for the guide box. The guide box has one state by
- * default, the `default` state.
- */
- export interface SeriesWordcloudDataDragDropGuideBoxOptions {
- /**
- * (Highcharts) Style options for the guide box default state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts) A `wordcloud` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesWordcloudOptions` via an interface to allow
- * custom properties: ``` declare interface SeriesWordcloudOptions {
- * customProperty: string; }
- *
- */
- export interface SeriesWordcloudOptions extends PlotWordcloudOptions, SeriesOptions {
- /**
- * (Highcharts) An array of data points for the series. For the `wordcloud`
- * series type, points can be given in the following ways:
- *
- * 1. An array of arrays with 2 values. In this case, the values correspond
- * to `name,weight`. (see online documentation for example)
- *
- * 2. An array of objects with named values. The following snippet shows
- * only a few settings, see the complete options set below. If the total
- * number of data points exceeds the series' turboThreshold, this option is
- * not available. (see online documentation for example)
- */
- data?: Array<([string, number]|PointOptionsObject)>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "wordcloud";
- }
- /**
- * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
- * series is displayed for the `dataLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface SeriesXrangeDataDataLabelsAnimationOptions {
- /**
- * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
- * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
- * time from the series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
- * has one state by default, the `default` state.
- */
- export interface SeriesXrangeDataDragDropGuideBoxOptions {
- /**
- * (Highcharts, Highstock, Gantt) Style options for the guide box default
- * state.
- */
- default?: DragDropGuideBoxOptionsObject;
- }
- /**
- * (Highcharts, Highstock, Gantt) An `xrange` series. If the type option is not
- * specified, it is inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `xrange` series are defined in plotOptions.xrange.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesXrangeOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesXrangeOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesXrangeOptions extends PlotXrangeOptions, SeriesOptions {
- /**
- * (Highcharts, Highstock, Gantt) An array of data points for the series.
- * For the `xrange` series type, points can be given in the following ways:
- *
- * 1. An array of objects with named values. The objects are point
- * configuration objects as seen below. (see online documentation for
- * example)
- */
- data?: Array<XrangePointOptionsObject>;
- /**
- * Not available
- */
- depth?: undefined;
- /**
- * Not available
- */
- edgeColor?: undefined;
- /**
- * Not available
- */
- edgeWidth?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "xrange";
- }
- /**
- * (Highstock) A `Zig Zag` series. If the type option is not specified, it is
- * inherited from chart.type.
- *
- * In TypeScript the type option must always be set.
- *
- * Configuration options for the series are given in three levels:
- *
- * 1. Options for all series in a chart are defined in the plotOptions.series
- * object.
- *
- * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
- *
- * 3. Options for one single series are given in the series instance array. (see
- * online documentation for example)
- *
- * You have to extend the `SeriesZigzagOptions` via an interface to allow custom
- * properties: ``` declare interface SeriesZigzagOptions { customProperty:
- * string; }
- *
- */
- export interface SeriesZigzagOptions extends PlotZigzagOptions, SeriesOptions {
- /**
- * Not available
- */
- dataParser?: undefined;
- /**
- * Not available
- */
- dataURL?: undefined;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
- * TypeScript non-optional and might be `undefined` in series objects from
- * unknown sources.
- */
- type: "zigzag";
- }
- /**
- * (Highcharts, Highstock) An array defining zones within a series. Zones can be
- * applied to the X axis, Y axis or Z axis for bubbles, according to the
- * `zoneAxis` option. The zone definitions have to be in ascending order
- * regarding to the value.
- *
- * In styled mode, the color zones are styled with the `.highcharts-zone-{n}`
- * class, or custom classed from the `className` option (view live demo).
- */
- export interface SeriesZonesOptionsObject {
- /**
- * (Highcharts, Highstock) Styled mode only. A custom class name for the
- * zone.
- */
- className?: string;
- /**
- * (Highcharts, Highstock) Defines the color of the series.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) A name for the dash style to use for the graph.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock) Defines the fill color for the series (in area
- * type series)
- */
- fillColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock) The value up to where the zone extends, if
- * undefined the zones stretches to the last value in the series.
- */
- value?: number;
- }
- /**
- * The shadow options.
- */
- export interface ShadowOptionsObject {
- /**
- * The shadow color.
- */
- color?: ColorString;
- /**
- * The horizontal offset from the element.
- */
- offsetX?: number;
- /**
- * The vertical offset from the element.
- */
- offsetY?: number;
- /**
- * The shadow opacity.
- */
- opacity?: number;
- /**
- * The shadow width or distance from the element.
- */
- width?: number;
- }
- export interface SizeObject {
- height: number;
- width: number;
- }
- /**
- * (Highcharts) Stack of data points
- */
- export interface StackItemObject {
- /**
- * Alignment settings
- */
- alignOptions: AlignObject;
- /**
- * Related axis
- */
- axis: Axis;
- /**
- * Cumulative value of the stacked data points
- */
- cumulative: number;
- /**
- * True if on the negative side
- */
- isNegative: boolean;
- /**
- * Related SVG element
- */
- label: SVGElement;
- /**
- * Related stack options
- */
- options: YAxisStackLabelsOptions;
- /**
- * Total value of the stacked data points
- */
- total: number;
- /**
- * Shared x value of the stack
- */
- x: number;
- }
- export interface StockToolsGuiDefinitionsAdvancedFibonacciOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsAdvancedOptions {
- fibonacci?: StockToolsGuiDefinitionsAdvancedFibonacciOptions;
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- parallelChannel?: StockToolsGuiDefinitionsAdvancedParallelChannelOptions;
- pitchfork?: StockToolsGuiDefinitionsAdvancedPitchforkOptions;
- }
- export interface StockToolsGuiDefinitionsAdvancedParallelChannelOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsAdvancedPitchforkOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsCrookedLinesCrooked3Options {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsCrookedLinesCrooked5Options {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsCrookedLinesElliott3Options {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsCrookedLinesElliott5Options {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsCrookedLinesOptions {
- crooked3?: StockToolsGuiDefinitionsCrookedLinesCrooked3Options;
- crooked5?: StockToolsGuiDefinitionsCrookedLinesCrooked5Options;
- elliott3?: StockToolsGuiDefinitionsCrookedLinesElliott3Options;
- elliott5?: StockToolsGuiDefinitionsCrookedLinesElliott5Options;
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- }
- export interface StockToolsGuiDefinitionsCurrentPriceIndicatorOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsFlagsFlagCirclepinOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsFlagsFlagSimplepinOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsFlagsFlagSquarepinOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsFlagsOptions {
- flagCirclepin?: StockToolsGuiDefinitionsFlagsFlagCirclepinOptions;
- flagDiamondpin?: StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions;
- flagSimplepin?: StockToolsGuiDefinitionsFlagsFlagSimplepinOptions;
- flagSquarepin?: StockToolsGuiDefinitionsFlagsFlagSquarepinOptions;
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- }
- export interface StockToolsGuiDefinitionsFullScreenOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsIndicatorsOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesArrowLineOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesArrowRayOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesArrowSegmentOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesHorizontalLineOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesLineOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesOptions {
- arrowLine?: StockToolsGuiDefinitionsLinesArrowLineOptions;
- arrowRay?: StockToolsGuiDefinitionsLinesArrowRayOptions;
- arrowSegment?: StockToolsGuiDefinitionsLinesArrowSegmentOptions;
- horizontalLine?: StockToolsGuiDefinitionsLinesHorizontalLineOptions;
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- line?: StockToolsGuiDefinitionsLinesLineOptions;
- ray?: StockToolsGuiDefinitionsLinesRayOptions;
- segment?: StockToolsGuiDefinitionsLinesSegmentOptions;
- verticalLine?: StockToolsGuiDefinitionsLinesVerticalLineOptions;
- }
- export interface StockToolsGuiDefinitionsLinesRayOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesSegmentOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsLinesVerticalLineOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsMeasureMeasureXOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsMeasureMeasureXYOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsMeasureMeasureYOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsMeasureOptions {
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- measureX?: StockToolsGuiDefinitionsMeasureMeasureXOptions;
- measureXY?: StockToolsGuiDefinitionsMeasureMeasureXYOptions;
- measureY?: StockToolsGuiDefinitionsMeasureMeasureYOptions;
- }
- /**
- * (Highstock) An options object of the buttons definitions. Each name refers to
- * unique key from buttons array.
- */
- export interface StockToolsGuiDefinitionsOptions {
- advanced?: StockToolsGuiDefinitionsAdvancedOptions;
- crookedLines?: StockToolsGuiDefinitionsCrookedLinesOptions;
- currentPriceIndicator?: StockToolsGuiDefinitionsCurrentPriceIndicatorOptions;
- flags?: StockToolsGuiDefinitionsFlagsOptions;
- fullScreen?: StockToolsGuiDefinitionsFullScreenOptions;
- indicators?: StockToolsGuiDefinitionsIndicatorsOptions;
- lines?: StockToolsGuiDefinitionsLinesOptions;
- measure?: StockToolsGuiDefinitionsMeasureOptions;
- saveChart?: StockToolsGuiDefinitionsSaveChartOptions;
- separator?: StockToolsGuiDefinitionsSeparatorOptions;
- simpleShapes?: StockToolsGuiDefinitionsSimpleShapesOptions;
- toggleAnnotations?: StockToolsGuiDefinitionsToggleAnnotationsOptions;
- typeChange?: StockToolsGuiDefinitionsTypeChangeOptions;
- verticalLabels?: StockToolsGuiDefinitionsVerticalLabelsOptions;
- zoomChange?: StockToolsGuiDefinitionsZoomChangeOptions;
- }
- export interface StockToolsGuiDefinitionsSaveChartOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsSeparatorOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsSimpleShapesCircleOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsSimpleShapesLabelOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsSimpleShapesOptions {
- circle?: StockToolsGuiDefinitionsSimpleShapesCircleOptions;
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- label?: StockToolsGuiDefinitionsSimpleShapesLabelOptions;
- rectangle?: StockToolsGuiDefinitionsSimpleShapesRectangleOptions;
- }
- export interface StockToolsGuiDefinitionsSimpleShapesRectangleOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsToggleAnnotationsOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsTypeChangeOptions {
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- typeCandlestick?: StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions;
- typeLine?: StockToolsGuiDefinitionsTypeChangeTypeLineOptions;
- typeOHLC?: StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions;
- }
- export interface StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsTypeChangeTypeLineOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsVerticalLabelsOptions {
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- verticalArrow?: StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions;
- verticalCounter?: StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions;
- verticalLabel?: StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions;
- }
- export interface StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsZoomChangeOptions {
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * items.
- */
- items?: any[];
- zoomX?: StockToolsGuiDefinitionsZoomChangeZoomXOptions;
- zoomXY?: StockToolsGuiDefinitionsZoomChangeZoomXYOptions;
- zoomY?: StockToolsGuiDefinitionsZoomChangeZoomYOptions;
- }
- export interface StockToolsGuiDefinitionsZoomChangeZoomXOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsZoomChangeZoomXYOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- export interface StockToolsGuiDefinitionsZoomChangeZoomYOptions {
- /**
- * (Highstock) A predefined background symbol for the button.
- */
- symbol?: string;
- }
- /**
- * (Highstock) Definitions of buttons in Stock Tools GUI.
- */
- export interface StockToolsGuiOptions {
- /**
- * (Highstock) A collection of strings pointing to config options for the
- * toolbar items. Each name refers to unique key from definitions object.
- */
- buttons?: string;
- /**
- * (Highstock) A CSS class name to apply to the stocktools' div, allowing
- * unique CSS styling for each chart.
- */
- className?: string;
- /**
- * (Highstock) An options object of the buttons definitions. Each name
- * refers to unique key from buttons array.
- */
- definitions?: StockToolsGuiDefinitionsOptions;
- /**
- * (Highstock) Enable or disable the stockTools gui.
- */
- enabled?: boolean;
- /**
- * (Highstock) A CSS class name to apply to the container of buttons,
- * allowing unique CSS styling for each chart.
- */
- toolbarClassName?: string;
- }
- /**
- * (Highstock) Configure the stockTools gui strings in the chart. Requires the
- * [stockTools module]() to be loaded. For a description of the module and
- * information on its features, see [Highcharts StockTools]().
- */
- export interface StockToolsOptions {
- /**
- * (Highstock) Definitions of buttons in Stock Tools GUI.
- */
- gui?: StockToolsGuiOptions;
- }
- /**
- * The chart subtitle. The subtitle has an `update` method that allows modifying
- * the options directly or indirectly via `chart.update`.
- */
- export interface SubtitleObject extends SVGElement {
- /**
- * Modify options for the subtitle.
- *
- * @param subtitleOptions
- * Options to modify.
- *
- * @param redraw
- * Whether to redraw the chart after the subtitle is altered. If
- * doing more operations on the chart, it is a good idea to set
- * redraw to false and call Chart#redraw after.
- */
- update(subtitleOptions: SubtitleOptions, redraw?: boolean): void;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can be
- * used both to display a subtitle below the main title, and to display random
- * text anywhere in the chart. The subtitle can be updated after chart
- * initialization through the `Chart.setTitle` method.
- */
- export interface SubtitleOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
- * subtitle. Can be one of "left", "center" and "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When the subtitle is floating,
- * the plot area will not move to make space for it.
- */
- floating?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title.
- *
- * In styled mode, the subtitle style is given in the `.highcharts-subtitle`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The subtitle of the chart.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the text.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle, the
- * subtitle behaves as floating.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the subtitle
- * width, normally to reserve space for the exporting burger menu.
- */
- widthAdjust?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position of the subtitle
- * relative to the alignment within `chart.spacingLeft` and
- * `chart.spacingRight`.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position of the subtitle
- * relative to the alignment within `chart.spacingTop` and
- * `chart.spacingBottom`. By default the subtitle is laid out below the
- * title unless the title is floating.
- */
- y?: number;
- }
- /**
- * An object of key-value pairs for SVG attributes. Attributes in Highcharts
- * elements for the most parts correspond to SVG, but some are specific to
- * Highcharts, like `zIndex`, `rotation`, `rotationOriginX`, `rotationOriginY`,
- * `translateX`, `translateY`, `scaleX` and `scaleY`. SVG attributes containing
- * a hyphen are _not_ camel-cased, they should be quoted to preserve the hyphen.
- */
- export interface SVGAttributes {
- [key: string]: any;
- d?: (string|SVGPathArray);
- fill?: (ColorString|GradientColorObject|PatternObject);
- inverted?: boolean;
- matrix?: Array<number>;
- rotation?: number;
- rotationOriginX?: number;
- rotationOriginY?: number;
- scaleX?: number;
- scaleY?: number;
- stroke?: (ColorString|GradientColorObject|PatternObject);
- style?: (string|CSSObject);
- translateX?: number;
- translateY?: number;
- zIndex?: number;
- }
- /**
- * Serialized form of an SVG definition, including children. Some key property
- * names are reserved: tagName, textContent, and children.
- */
- export interface SVGDefinitionObject {
- [key: string]: (boolean|number|string|Array<SVGDefinitionObject>|undefined);
- children?: Array<SVGDefinitionObject>;
- tagName?: string;
- textContent?: string;
- }
- /**
- * An extendable collection of functions for defining symbol paths. Symbols are
- * used internally for point markers, button and label borders and backgrounds,
- * or custom shapes. Extendable by adding to SVGRenderer#symbols.
- */
- export interface SymbolDictionary {
- [key: string]: (Function|undefined);
- arc?: Function;
- callout?: Function;
- circle?: Function;
- diamond?: Function;
- square?: Function;
- triangle?: Function;
- }
- /**
- * Additional options, depending on the actual symbol drawn.
- */
- export interface SymbolOptionsObject {
- /**
- * The anchor X position for the `callout` symbol. This is where the chevron
- * points to.
- */
- anchorX?: number;
- /**
- * The anchor Y position for the `callout` symbol. This is where the chevron
- * points to.
- */
- anchorY?: number;
- /**
- * The end angle of an `arc` symbol.
- */
- end?: number;
- /**
- * Whether to draw `arc` symbol open or closed.
- */
- open?: boolean;
- /**
- * The radius of an `arc` symbol, or the border radius for the `callout`
- * symbol.
- */
- r?: number;
- /**
- * The start angle of an `arc` symbol.
- */
- start?: number;
- }
- export interface TimelineDataLabelsFormatterContextObject extends PointLabelObject {
- key?: string;
- point: Point;
- series: Series;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
- * appearing next to each data point.
- *
- * Since v6.2.0, multiple data labels can be applied to each single point by
- * defining them as an array of configs.
- *
- * In styled mode, the data labels can be styled with the
- * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
- * example).
- */
- export interface TimelineDataLabelsOptionsObject {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
- * compared to the point. If `right`, the right side of the label should be
- * touching the point. For points with an extent, like columns, the
- * alignments also dictates how to align it inside the box, as given with
- * the inside option. Can be one of `left`, `center` or `right`.
- */
- align?: (AlignValue|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
- * overlap. To make the labels less sensitive for overlapping, the
- * dataLabels.padding can be set to 0.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to position data labels
- * alternately. For example, if distance is set equal to `100`, then data
- * labels will be positioned alternately (on both sides of the point) at a
- * distance of 100px.
- */
- alternate?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
- * animation when a series is displayed for the `dataLabels`. The animation
- * can also be set as a configuration object. Please note that this option
- * only applies to the initial animation. For other animations, see
- * chart.animation and the animation parameter under the API methods. The
- * following properties are supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|PlotTimelineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the data label.
- */
- backgroundColor?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
- * label. Defaults to `undefined`.
- */
- borderColor?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
- * the data label.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
- * the data label.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
- * Particularly in styled mode, this can be used to give each series' or
- * point's data label unique styling. In addition to this option, a default
- * color class name is added so that we can give the labels a contrast text
- * shadow.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
- * labels. Defaults to `undefined`. For certain series types, like column or
- * map, the data labels can be drawn inside the points. In this case the
- * data label will be drawn with maximum contrast by default. Additionally,
- * it will be given a `text-outline` style with the opposite color, to
- * further increase the contrast. This can be overridden by setting the
- * `text-outline` style to `none` in the `dataLabels.style` option.
- */
- color?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the line connecting
- * the data label to the point. The default color is the same as the point's
- * color.
- *
- * In styled mode, the connector stroke is given in the
- * `.highcharts-data-label-connector` class.
- */
- connectorColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the line connecting
- * the data label to the point.
- *
- * In styled mode, the connector stroke width is given in the
- * `.highcharts-data-label-connector` class.
- */
- connectorWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
- * are outside the plot area. By default, the data label is moved inside the
- * plot area according to the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
- * labels until the initial series animation has finished. Setting to
- * `false` renders the data label immediately. If set to `true` inherits the
- * defer time set in plotOptions.series.animation.
- */
- defer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A pixel value defining the
- * distance between the data label and the point. Negative numbers puts the
- * label on top of the point.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
- * of which data labels to display. The declarative filter is designed for
- * use when callback functions are not available, like when the chart
- * options require a pure JSON structure or for use with graphical editors.
- * For programmatic control, use the `formatter` instead, and return
- * `undefined` to disable a single data label.
- */
- filter?: DataLabelsFilterOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
- * label. Available variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the data label. Note that if a `format` is defined, the format
- * takes precedence and the formatter is ignored.
- */
- formatter?: TimelineDataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
- * columns or map areas, whether to align the data label inside the box or
- * to the actual value point. Defaults to `false` in most cases, `true` in
- * stacked columns.
- */
- inside?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
- * of null. Works analogously to format. `nullFormat` can be applied only to
- * series which support displaying null points.
- */
- nullFormat?: (boolean|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
- * that defines formatting for points with the value of null. Works
- * analogously to formatter. `nullPointFormatter` can be applied only to
- * series which support displaying null points.
- */
- nullFormatter?: DataLabelsFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
- * flow outside the plot area. The default is `"justify"`, which aligns them
- * inside the plot area. For columns and bars, this means it will be moved
- * inside the bar. To display data labels outside the plot area, set `crop`
- * to `false` and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
- * the `backgroundColor` is set, this is the padding within the box.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
- * points. If `center` alignment is not possible, it defaults to `right`.
- */
- position?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
- * that due to a more complex structure, backgrounds, borders and padding
- * will be lost on a rotated data label.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Shadow options for the data
- * label.
- */
- shadow?: (boolean|CSSObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the label. Symbols are predefined functions on the
- * Renderer object.
- */
- shape?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
- * default `color` setting is `"contrast"`, which is a pseudo color that
- * Highcharts picks up and applies the maximum contrast to the underlying
- * point item, for example the bar in a bar chart.
- *
- * The `textOutline` is a pseudo property that applies an outline of the
- * given width with the given color, which by default is the maximum
- * contrast to the text. So a bright text color will result in a black text
- * outline for maximum readability on a mixed background. In some cases,
- * especially with grayscale text, the text outline doesn't work well, in
- * which cases it can be disabled by setting it to `"none"`. When `useHTML`
- * is true, the `textOutline` will not be picked up. In this, case, the same
- * effect can be acheived through the `text-shadow` CSS property.
- *
- * For some series types, where each point has an extent, like for example
- * tree maps, the data label may overflow the point. There are two
- * strategies for handling overflow. By default, the text will wrap to
- * multiple lines. The other strategy is to set `style.textOverflow` to
- * `ellipsis`, which will keep the text on one line plus it will break
- * inside long words.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
- * should follow marker's shape. Border and background are disabled for a
- * label that follows a path.
- *
- * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
- * to true will disable this option.
- */
- textPath?: DataLabelsTextPathOptionsObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
- * label. Can be one of `top`, `middle` or `bottom`. The default value
- * depends on the data, for instance in a column chart, the label is above
- * positive values and below negative values.
- */
- verticalAlign?: string;
- width?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
- * label relative to the point in pixels.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
- * label relative to the point in pixels.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
- * The default Z index puts it above the series. Use a Z index of 2 to
- * display it behind the series.
- */
- z?: number;
- }
- /**
- * Normalized interval.
- */
- export interface TimeNormalizedObject {
- /**
- * The count.
- */
- count: number;
- /**
- * The interval in axis values (ms).
- */
- unitRange: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply globally
- * or to individual charts. These settings affect how `datetime` axes are laid
- * out, how tooltips are formatted, how series pointIntervalUnit works and how
- * the Highstock range selector handles time.
- *
- * The common use case is that all charts in the same Highcharts object share
- * the same time settings, in which case the global settings are set using
- * `setOptions`. (see online documentation for example)
- *
- * Since v6.0.5, the time options were moved from the `global` obect to the
- * `time` object, and time options can be set on each individual chart.
- */
- export interface TimeOptions {
- /**
- * (Highcharts, Highstock, Gantt) A custom `Date` class for advanced date
- * handling. For example, JDate can be hooked in to handle Jalali dates.
- */
- Date?: any;
- /**
- * (Highcharts, Highstock, Gantt) A callback to return the time zone offset
- * for a given datetime. It takes the timestamp in terms of milliseconds
- * since January 1 1970, and returns the timezone offset in minutes. This
- * provides a hook for drawing time based charts in specific time zones
- * using their local DST crossover dates, with the help of external
- * libraries.
- */
- getTimezoneOffset?: TimezoneOffsetCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Allows to manually load the
- * `moment.js` library from Highcharts options instead of the `window`. In
- * case of loading the library from a `script` tag, this option is not
- * needed, it will be loaded from there by default.
- */
- moment?: Function;
- /**
- * (Highcharts, Highstock, Gantt) Requires moment.js. If the timezone option
- * is specified, it creates a default getTimezoneOffset function that looks
- * up the specified timezone in moment.js. If moment.js is not included,
- * this throws a Highcharts error in the console, but does not crash the
- * chart.
- */
- timezone?: string;
- /**
- * (Highcharts, Highstock, Gantt) The timezone offset in minutes. Positive
- * values are west, negative values are east of UTC, as in the ECMAScript
- * getTimezoneOffset method. Use this to display UTC based data in a
- * predefined time zone.
- */
- timezoneOffset?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use UTC time for axis
- * scaling, tickmark placement and time display in `Highcharts.dateFormat`.
- * Advantages of using UTC is that the time displays equally regardless of
- * the user agent's time zone settings. Local time can be used when the data
- * is loaded in real time or when correct Daylight Saving Time transitions
- * are required.
- */
- useUTC?: boolean;
- }
- /**
- * Additonal time tick information.
- */
- export interface TimeTicksInfoObject extends TimeNormalizedObject {
- higherRanks: Array<string>;
- totalRange: number;
- }
- /**
- * The chart title. The title has an `update` method that allows modifying the
- * options directly or indirectly via `chart.update`.
- */
- export interface TitleObject extends SVGElement {
- /**
- * Modify options for the title.
- *
- * @param titleOptions
- * Options to modify.
- *
- * @param redraw
- * Whether to redraw the chart after the title is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call Chart#redraw after.
- */
- update(titleOptions: TitleOptions, redraw?: boolean): void;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
- */
- export interface TitleOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
- * title. Can be one of "left", "center" and "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When the title is floating, the
- * plot area will not move to make space for it.
- */
- floating?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The margin between the title and
- * the plot area, or if a subtitle is present, the margin between the
- * subtitle and the plot area.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. Use
- * this for font styling, but use `align`, `x` and `y` for text alignment.
- *
- * In styled mode, the title style is given in the `.highcharts-title`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The title of the chart. To
- * disable the title, set the `text` to `undefined`.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the text.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
- * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When a value is
- * given, the title behaves as if floating were `true`.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the title
- * width, normally to reserve space for the exporting burger menu.
- */
- widthAdjust?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position of the title
- * relative to the alignment within `chart.spacingLeft` and
- * `chart.spacingRight`.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position of the title
- * relative to the alignment within chart.spacingTop and
- * chart.spacingBottom. By default it depends on the font size.
- */
- y?: number;
- }
- export interface TooltipFormatterContextObject {
- color: (ColorString|GradientColorObject|PatternObject);
- colorIndex?: number;
- key: number;
- percentage?: number;
- point: Point;
- points?: Array<TooltipFormatterContextObject>;
- series: Series;
- total?: number;
- x: number;
- y: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that appears
- * when the user hovers over a series or point.
- */
- export interface TooltipOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable animation of
- * the tooltip.
- */
- animation?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
- * for the tooltip.
- *
- * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
- * class.
- */
- backgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the tooltip border.
- * When `undefined`, the border takes the color of the corresponding series
- * or point.
- */
- borderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The radius of the rounded border
- * corners.
- */
- borderRadius?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the tooltip
- * border.
- *
- * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
- * class.
- */
- borderWidth?: number;
- /**
- * (Highstock) How many decimals to show for the `point.change` value when
- * the `series.compare` option is set. This is overridable in each series'
- * tooltip options object. The default is to preserve all decimals.
- */
- changeDecimals?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
- * tooltip's container div, allowing unique CSS styling for each chart.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the cluster point's
- * in the tooltip. Works only with marker-clusters module and analogously to
- * pointFormat.
- *
- * The cluster tooltip can be also formatted using `tooltip.formatter`
- * callback function and `point.isCluster` flag.
- */
- clusterFormat?: object;
- /**
- * (Highcharts, Highstock, Gantt) For series on a datetime axes, the date
- * format in the tooltip's header will by default be guessed based on the
- * closest data points. This member gives the default string representations
- * used for each unit. For an overview of the replacement codes, see
- * dateFormat.
- */
- dateTimeLabelFormats?: Dictionary<string>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Distance from point to tooltip
- * in pixels.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the tooltip.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
- * follow the mouse as it moves across columns, pie slices and other point
- * types with an extent. By default it behaves this way for pie, polygon,
- * map, sankey and wordcloud series by override in the `plotOptions` for
- * those series types.
- *
- * For touch moves to behave the same way, followTouchMove must be `true`
- * also.
- */
- followPointer?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
- * update as the finger moves on a touch device. If this is `true` and
- * chart.panning is set,`followTouchMove` will take over one-finger touches,
- * so the user needs to use two fingers for zooming and panning.
- *
- * Note the difference to followPointer that only defines the _position_ of
- * the tooltip. If `followPointer` is false in for example a column series,
- * the tooltip will show above or below the column, but as `followTouchMove`
- * is true, the tooltip will jump from column to column as the user swipes
- * across the plot area.
- */
- followTouchMove?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A string to append to the
- * tooltip format.
- */
- footerFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
- * text of the tooltip from scratch. In case of single or shared tooltips, a
- * string should be returned. In case of split tooltips, it should return an
- * array where the first item is the header, and subsequent items are mapped
- * to the points. Return `false` to disable tooltip for a specific point on
- * series.
- *
- * A subset of HTML is supported. Unless `useHTML` is true, the HTML of the
- * tooltip is parsed and converted to SVG, therefore this isn't a complete
- * HTML renderer. The following HTML tags are supported: `b`, `br`, `em`,
- * `i`, `span`, `strong`. Spans can be styled with a `style` attribute, but
- * only text-related CSS, that is shared with SVG, is handled.
- *
- * The available data in the formatter differ a bit depending on whether the
- * tooltip is shared or split, or belongs to a single point. In a
- * shared/split tooltip, all properties except `x`, which is common for all
- * points, are kept in an array, `this.points`.
- *
- * Available data are:
- *
- * - **this.percentage (not shared) /** **this.points[i].percentage
- * (shared)**: Stacked series and pies only. The point's percentage of the
- * total.
- *
- * - **this.point (not shared) / this.points[i].point (shared)**: The point
- * object. The point name, if defined, is available through
- * `this.point.name`.
- *
- * - **this.points**: In a shared tooltip, this is an array containing all
- * other properties for each point.
- *
- * - **this.series (not shared) / this.points[i].series (shared)**: The
- * series object. The series name is available through `this.series.name`.
- *
- * - **this.total (not shared) / this.points[i].total (shared)**: Stacked
- * series only. The total value at this point's x value.
- *
- * - **this.x**: The x value. This property is the same regardless of the
- * tooltip being shared or not.
- *
- * - **this.y (not shared) / this.points[i].y (shared)**: The y value.
- */
- formatter?: TooltipFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the tooltip header
- * line. Variables are enclosed by curly brackets. Available variables are
- * `point.key`, `series.name`, `series.color` and other members from the
- * `point` and `series` objects. The `point.key` variable contains the
- * category name, x value or datetime string depending on the type of axis.
- * For datetime axes, the `point.key` date format can be set using
- * `tooltip.xDateFormat`.
- */
- headerFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the tooltip header. Applies only when tooltip.split is
- * enabled.
- *
- * Custom callbacks for symbol path generation can also be added to
- * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
- * series.marker.symbol.
- */
- headerShape?: OptionsHeaderShapeValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The number of milliseconds to
- * wait until the tooltip is hidden when mouse out from a point or chart.
- */
- hideDelay?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the null point's
- * line in the tooltip. Works analogously to pointFormat.
- */
- nullFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
- * text of the tooltip for visible null points. Works analogously to
- * formatter.
- */
- nullFormatter?: TooltipFormatterCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the tooltip to
- * render outside the chart's SVG element box. By default (`false`), the
- * tooltip is rendered within the chart's SVG element, which results in the
- * tooltip being aligned inside the chart area. For small charts, this may
- * result in clipping or overlapping. When `true`, a separate SVG element is
- * created and overlaid on the page, allowing the tooltip to be aligned
- * inside the page itself.
- *
- * Defaults to `true` if `chart.scrollablePlotArea` is activated, otherwise
- * `false`.
- */
- outside?: (boolean|undefined);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Padding inside the tooltip, in
- * pixels.
- */
- padding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the point's line in
- * the tooltip. Variables are enclosed by curly brackets. Available
- * variables are point.x, point.y, series. name and series.color and other
- * properties on the same form. Furthermore, `point.y` can be extended by
- * the `tooltip.valuePrefix` and `tooltip.valueSuffix` variables. This can
- * also be overridden for each series, which makes it a good hook for
- * displaying units.
- *
- * In styled mode, the dot is colored by a class name rather than the point
- * color.
- */
- pointFormat?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function for
- * formatting the HTML output for a single point in the tooltip. Like the
- * `pointFormat` string, but with more flexibility.
- */
- pointFormatter?: FormatterCallbackFunction<Point>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function to place the
- * tooltip in a default position. The callback receives three parameters:
- * `labelWidth`, `labelHeight` and `point`, where point contains values for
- * `plotX` and `plotY` telling where the reference point is in the plot
- * area. Add `chart.plotLeft` and `chart.plotTop` to get the full
- * coordinates.
- *
- * Since v7, when tooltip.split option is enabled, positioner is called for
- * each of the boxes separately, including xAxis header. xAxis header is not
- * a point, instead `point` argument contains info: `{ plotX: Number, plotY:
- * Number, isHeader: Boolean }`
- *
- * The return should be an object containing x and y values, for example `{
- * x: 100, y: 100 }`.
- */
- positioner?: TooltipPositionerCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
- * to the tooltip.
- */
- shadow?: (boolean|ShadowOptionsObject);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
- * the border around the tooltip. Can be one of: `"callout"`, `"circle"`, or
- * `"square"`. When tooltip.split option is enabled, shape is applied to all
- * boxes except header, which is controlled by tooltip.headerShape.
- *
- * Custom callbacks for symbol path generation can also be added to
- * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
- * series.marker.symbol.
- */
- shape?: TooltipShapeValue;
- /**
- * (Highcharts, Highstock) When the tooltip is shared, the entire plot area
- * will capture mouse movement or touch events. Tooltip texts for series
- * types with ordered data (not pie, scatter, flags etc) will be shown in a
- * single bubble. This is recommended for single series charts and for
- * tablet/mobile optimized charts.
- *
- * See also tooltip.split, that is better suited for charts with many
- * series, especially line-type series. The `tooltip.split` option takes
- * precedence over `tooltip.shared`.
- */
- shared?: boolean;
- /**
- * (Highcharts, Highstock) Proximity snap for graphs or single points. It
- * defaults to 10 for mouse-powered devices and 25 for touch devices.
- *
- * Note that in most cases the whole plot area captures the mouse movement,
- * and in these cases `tooltip.snap` doesn't make sense. This applies when
- * stickyTracking is `true` (default) and when the tooltip is shared or
- * split.
- */
- snap?: number;
- /**
- * (Highcharts, Highstock) Split the tooltip into one label per series, with
- * the header close to the axis. This is recommended over shared tooltips
- * for charts with multiple line series, generally making them easier to
- * read. This option takes precedence over `tooltip.shared`.
- */
- split?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Prevents the tooltip from
- * switching or closing, when touched or pointed.
- */
- stickOnContact?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the tooltip. The
- * tooltip can also be styled through the CSS class `.highcharts-tooltip`.
- *
- * Note that the default `pointerEvents` style makes the tooltip ignore
- * mouse events, so in order to use clickable tooltips, this value must be
- * set to `auto`.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Use HTML to render the contents
- * of the tooltip instead of SVG. Using HTML allows advanced formatting like
- * tables and images in the tooltip. It is also recommended for rtl
- * languages as it works around rtl bugs in early Firefox.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How many decimals to show in
- * each series' y value. This is overridable in each series' tooltip options
- * object. The default is to preserve all decimals.
- */
- valueDecimals?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A string to prepend to each
- * series' y value. Overridable in each series' tooltip options object.
- */
- valuePrefix?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A string to append to each
- * series' y value. Overridable in each series' tooltip options object.
- */
- valueSuffix?: string;
- /**
- * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
- * header if the X axis is a datetime axis. The default is a best guess
- * based on the smallest distance between points in the chart.
- */
- xDateFormat?: string;
- }
- /**
- * Point information for positioning a tooltip.
- */
- export interface TooltipPositionerPointObject {
- /**
- * If `tooltip.split` option is enabled and positioner is called for each of
- * the boxes separately, this property indicates the call on the xAxis
- * header, which is not a point itself.
- */
- isHeader: boolean;
- /**
- * The reference point relative to the plot area. Add chart.plotLeft to get
- * the full coordinates.
- */
- plotX: number;
- /**
- * The reference point relative to the plot area. Add chart.plotTop to get
- * the full coordinates.
- */
- plotY: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to each
- * other.
- */
- export interface XAxisBreaksOptions {
- /**
- * (Highcharts, Highstock, Gantt) A number indicating how much space should
- * be left between the start and the end of the break. The break size is
- * given in axis units, so for instance on a `datetime` axis, a break size
- * of 3600000 would indicate the equivalent of an hour.
- */
- breakSize?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break starts.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) Defines an interval after which the break
- * appears again. By default the breaks do not repeat.
- */
- repeat?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break ends.
- */
- to?: number;
- }
- /**
- * (Gantt) An object defining mouse events for the plot line. Supported
- * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface XAxisCurrentDateIndicatorEventsOptions {
- /**
- * (Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse out event on the corner of a plot band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Gantt) Text labels for the plot bands
- */
- export interface XAxisCurrentDateIndicatorLabelOptions {
- /**
- * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
- * or "right".
- */
- align?: AlignValue;
- /**
- * (Gantt) Format of the label. This options is passed as the fist argument
- * to dateFormat function.
- */
- format?: string;
- /**
- * (Gantt) Callback JavaScript function to format the label. Useful
- * properties like the value of plot line or the range of plot band (`from`
- * & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
- * horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The text itself. A subset of HTML is supported.
- */
- text?: string;
- /**
- * (Gantt) The text alignment for the label. While `align` determines where
- * the texts anchor point is placed within the plot band, `textAlign`
- * determines how the text is aligned against its anchor point. Possible
- * values are "left", "center" and "right". Defaults to the same as the
- * `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Gantt) Vertical alignment of the label relative to the plot line. Can be
- * one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Horizontal position relative the alignment. Default varies by
- * orientation.
- */
- x?: number;
- /**
- * (Gantt) Vertical position of the text baseline relative to the alignment.
- * Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
- */
- export interface XAxisEventsOptions {
- /**
- * (Highcharts, Gantt) An event fired after the breaks have rendered.
- */
- afterBreaks?: AxisEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
- * event, this event fires after the final min and max values are computed
- * and corrected for `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Gantt) An event fired when a break from this axis occurs on
- * a point.
- */
- pointBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
- * break from this axis.
- */
- pointInBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
- * maximum is set for the axis, either by calling the `.setExtremes()`
- * method or by selecting an area in the chart. One parameter, `event`, is
- * passed to the function, containing common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface XAxisGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
- * category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
- * `tickInterval` and `step` is set to 1.
- */
- export interface XAxisLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
- * given position is anchored to. If `left`, the left side of the string is
- * at the axis position. Can be one of `"left"`, `"center"` or `"right"`.
- * Defaults to an intelligent guess based on which side of the chart the
- * axis is on and the rotation of the label.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
- * the perimeter of the plot area.
- */
- distance?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
- * label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the label. The value is given by `this.value`. Additional
- * properties for `this` are `axis`, `chart`, `isFirst` and `isLast`. The
- * value of the default label formatter can be retrieved by calling
- * `this.axis.defaultLabelFormatter.call(this)` within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
- * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
- * By default it `"justify"` labels inside the chart area. If there is room
- * to move it, it will be aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
- * degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
- * of lines to spread the labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
- * on the axis, set the step to _n_. Setting the step to 2 shows every other
- * label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
- * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
- * `textOverflow: 'none'` to prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
- * labels relative to the tick positions on the axis.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
- * labels relative to the tick positions on the axis. The default makes it
- * adapt to the font size of the bottom axis.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
- * Normally this is the horizontal axis, though if the chart is inverted this is
- * the vertical axis. In case of multiple axes, the xAxis node is an array of
- * configuration objects.
- *
- * See the Axis class for programmatic access to the axis.
- */
- export interface XAxisOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * axis. Requires the accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
- * this axis' ticks. When counting integers, like persons or hits on a web
- * page, decimals should be avoided in the labels.
- */
- allowDecimals?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
- * color, a band is painted across the plot area between every other grid
- * line.
- */
- alternateGridColor?: ColorType;
- /**
- * (Highcharts) In a polar chart, this is the angle of the Y axis in
- * degrees, where 0 is up and 90 is right. The angle determines the position
- * of the axis line and the labels, though the coordinate system is
- * unaffected. Since v8.0.0 this option is also applicable for X axis
- * (inverted polar).
- */
- angle?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to
- * each other.
- */
- breaks?: Array<XAxisBreaksOptions>;
- /**
- * (Highcharts, Gantt) If categories are present for the xAxis, names are
- * used instead of numbers for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- *
- * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
- */
- categories?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
- * styling the axis by CSS, especially in Highcharts styled mode. The class
- * name is applied to group elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
- * follows either the mouse pointer or the hovered point.
- *
- * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
- * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
- */
- crosshair?: (boolean|AxisCrosshairOptions);
- /**
- * (Gantt) Show an indicator on the axis for the current date and time. Can
- * be a boolean or a configuration object similar to xAxis.plotLines.
- */
- currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations
- * used for each unit. For intermediate values, different units may be used,
- * for example the `day` unit can be used on midnight and `hour` unit be
- * used for intermediate values on the same axis. For grid axes (like in
- * Gantt charts), it is possible to declare as a list to provide different
- * formats depending on available space. For an overview of the replacement
- * codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
- * on a tick. Use this option with the `maxPadding` option to control the
- * axis end.
- */
- endOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
- */
- events?: XAxisEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: XAxisGridOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
- * extending the ticks across the plot area.
- *
- * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
- */
- gridLineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
- * grid lines. For possible values, see this demonstration.
- */
- gridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Polar charts only. Whether the grid lines should draw as a
- * polygon with straight lines between categories, or as circles. Can be
- * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
- * for X axis (inverted polar).
- */
- gridLineInterpolation?: OptionsGridLineInterpolationValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
- * extending the ticks across the plot area.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- gridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highcharts, Highstock) The height as the vertical axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the total plot height.
- */
- height?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
- * used after render time to get a pointer to the axis object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
- * or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating
- * data if `tickInterval` and `step` is set to 1.
- */
- labels?: XAxisLabelsOptions;
- /**
- * (Highcharts, Highstock) The left position as the horizontal axis. If it's
- * a number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the plot width, offset from plot area left.
- */
- left?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
- * the axis itself.
- *
- * In styled mode, the line stroke is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
- * the axis itself.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
- * linked to. When an axis is linked to a master axis, it will take the same
- * extremes as the master, but as assigned by min or max or by setExtremes.
- * It can be used to show additional info, or to ease reading the chart by
- * duplicating the scales.
- */
- linkedTo?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
- * the same side of the chart, the pixel margin between the axes. Defaults
- * to 0 on vertical axes, 15 on horizontal axes.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
- * If `null`, the max value is automatically calculated.
- *
- * If the endOnTick option is true, the `max` value might be rounded up.
- *
- * If a tickAmount is set, the axis may be extended beyond the set max in
- * order to reach the given number of ticks. The same may happen in a chart
- * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
- * is applied internally.
- */
- max?: (number|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Padding of the max value
- * relative to the length of the axis. A padding of 0.05 will make a 100px
- * axis 5px longer. This is useful when you don't want the highest data
- * value to appear on the edge of the plot area. When the axis' `max` option
- * is set or a max extreme is set using `axis.setExtremes()`, the maxPadding
- * will be ignored.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) Maximum range which can be set using the navigator's
- * handles. Opposite of xAxis.minRange.
- */
- maxRange?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
- * If `null` the min value is automatically calculated.
- *
- * If the startOnTick option is true (default), the `min` value might be
- * rounded down.
- *
- * The automatically calculated minimum value is also affected by floor,
- * softMin, minPadding, minRange as well as series.threshold and
- * series.softThreshold.
- */
- min?: (number|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
- * grid lines.
- *
- * In styled mode, the stroke width is given in the
- * `.highcharts-minor-grid-line` class.
- */
- minorGridLineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
- * minor grid lines. For possible values, see this demonstration.
- */
- minorGridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
- * grid lines.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- minorGridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
- * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
- * interval is calculated as a fifth of the tickInterval. If `null` or
- * `undefined`, minor ticks are not shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
- * tick marks.
- */
- minorTickLength?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
- * marks relative to the axis line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
- * Unless minorTickInterval is set, the tick interval is calculated as a
- * fifth of the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
- * tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the lowest data value to appear on the
- * edge of the plot area. When the axis' `min` option is set or a min
- * extreme is set using `axis.setExtremes()`, the minPadding will be
- * ignored.
- */
- minPadding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
- * this axis. The entire axis will not be allowed to span over a smaller
- * interval than this. For example, for a datetime axis the main unit is
- * milliseconds. If minRange is set to 3600000, you can't zoom in more than
- * to one hour.
- *
- * The default minRange for the x axis is five times the smallest interval
- * between any of the data points.
- *
- * On a logarithmic axis, the unit for the minimum range is the power. So a
- * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
- * 1000-10000 etc.
- *
- * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
- * settings also affect how the extremes of the axis are computed.
- */
- minRange?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
- * allowed in axis values. For example on zooming in on an axis with daily
- * data, this can be used to prevent the axis from showing hours. Defaults
- * to the closest distance between two points on the axis.
- */
- minTickInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
- * plot area to the axis line. A positive offset moves the axis with it's
- * line, labels and ticks away from the plot area. This is typically used
- * when two or more axes are displayed on the same side of the plot. With
- * multiple axes the offset is dynamically adjusted to avoid collision, this
- * can be overridden by setting offset explicitly.
- */
- offset?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to display the axis on
- * the opposite side of the normal. The normal is on the left side for
- * vertical axes and bottom for horizontal, so the opposite sides will be
- * right and top respectively. This is typically used with dual or multiple
- * axes.
- */
- opposite?: boolean;
- /**
- * (Highstock) In an ordinal axis, the points are equally spaced in the
- * chart regardless of the actual time or x distance between them. This
- * means that missing data periods (e.g. nights or weekends for a stock
- * chart) will not take up space in the chart. Having `ordinal: false` will
- * show any gaps created by the `gapSize` setting proportionate to their
- * duration.
- *
- * In stock charts the X axis is ordinal by default, unless the boost module
- * is used and at least one of the series' data length exceeds the
- * boostThreshold.
- */
- ordinal?: boolean;
- /**
- * (Highstock) Additional range on the right side of the xAxis. Works
- * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
- * set for both main `xAxis` and the navigator's `xAxis`.
- */
- overscroll?: number;
- /**
- * (Highcharts) Refers to the index in the panes array. Used for circular
- * gauges and polar charts. When the option is not set then first pane will
- * be used.
- */
- pane?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching
- * across the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- plotBands?: Array<XAxisPlotBandsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the
- * plot area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- plotLines?: Array<XAxisPlotLinesOptions>;
- /**
- * (Highstock) The zoomed range to display when only defining one or none of
- * `min` or `max`. For example, to show the latest month, a range of one
- * month can be set.
- */
- range?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
- * that the highest number is closest to the origin. If the chart is
- * inverted, the x axis is reversed by default.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock) This option determines how stacks should be
- * ordered within a group. For example reversed xAxis also reverses stacks,
- * so first series comes last in a group. To keep order like for
- * non-reversed xAxis enable this option.
- */
- reversedStacks?: boolean;
- /**
- * (Highstock) An optional scrollbar to display on the X axis in response to
- * limiting the minimum and maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are
- * replaced by the classes `.highcharts-scrollbar-thumb`,
- * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
- * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
- */
- scrollbar?: XAxisScrollbarOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
- * and title when the axis has no data.
- */
- showEmpty?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
- * label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- */
- softMin?: number;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to
- * start on a tick. Use this option with the `minPadding` option to control
- * the axis start.
- */
- startOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
- * in axis units. When `undefined`, the tick interval is computed to
- * approximately follow the tickPixelInterval on linear and datetime axes.
- * On categorized axes, a `undefined` tickInterval will default to 1, one
- * category. Note that datetime axes are based on milliseconds, so for
- * example an interval of one day is expressed as `24 * 3600 * 1000`.
- *
- * On logarithmic axes, the tickInterval is based on powers, so a
- * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
- * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
- * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
- * etc.
- *
- * If the tickInterval is too dense for labels to be drawn, Highcharts may
- * remove ticks.
- *
- * If the chart has multiple axes, the alignTicks option may interfere with
- * the `tickInterval` setting.
- */
- tickInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
- * tick marks.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
- * option sets the approximate pixel interval of the tick marks. Not
- * applicable to categorized axis.
- *
- * The tick interval is also influenced by the minTickInterval option, that,
- * by default prevents ticks from being denser than the data points.
- */
- tickPixelInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
- * marks relative to the axis line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
- * array defining where the ticks are laid out on the axis. This overrides
- * the default behaviour of tickPixelInterval and tickInterval. The
- * automatic tick positions are accessible through `this.tickPositions` and
- * can be modified by the callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
- * ticks are laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the major
- * tick marks. Defaults to 0 on category axes, otherwise 1.
- *
- * In styled mode, the stroke width is given in the `.highcharts-tick`
- * class, but in order for the element to be generated on category axes, the
- * option must be explicitly set to 1.
- */
- tickWidth?: (number|undefined);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
- * the axis line.
- */
- title?: XAxisTitleOptions;
- /**
- * (Highcharts, Highstock) The top position as the vertical axis. If it's a
- * number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the plot height, offset from plot area top.
- */
- top?: (number|string);
- /**
- * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
- * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
- * are given in milliseconds, and tick marks are placed on appropriate
- * values like full hours or days. In a category axis, the point names of
- * the chart's series are used for categories, if not a categories array is
- * defined.
- */
- type?: AxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
- * what time intervals the ticks are allowed to fall on. Each array item is
- * an array where the first value is the time unit and the second value
- * another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock) The width as the horizontal axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the total plot width.
- */
- width?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
- * `chart.zoomType` is set, the option allows to disable zooming on an
- * individual axis.
- */
- zoomEnabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface XAxisPlotBandsEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface XAxisPlotBandsLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-band-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
- * is supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot band. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
- * the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- export interface XAxisPlotBandsOptions {
- /**
- * (Highstock) Flag to decide if plotBand should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
- * requires `borderWidth` to be set.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
- * requires `borderColor` to be set.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-band`, to apply to each individual band.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the plot band.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: XAxisPlotBandsEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The start position of the plot band in
- * axis units.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
- * in Axis.removePlotBand.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: XAxisPlotBandsLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
- * units.
- */
- to?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot band within the
- * chart, relative to other elements. Using the same z index as another
- * element may give unpredictable results, as the last rendered element will
- * be on top. Values from 0 to 20 make sense.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface XAxisPlotLinesEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface XAxisPlotLinesLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
- * label. Useful properties like the value of plot line or the range of plot
- * band (`from` & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
- * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
- * supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot line. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
- * area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- export interface XAxisPlotLinesOptions {
- /**
- * (Highstock) Flag to decide if plotLine should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-line`, to apply to each individual line.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the line.
- */
- color?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
- * line. For possible values see this overview.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: XAxisPlotLinesEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
- * in Axis.removePlotLine.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: XAxisPlotLinesLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The position of the line in axis units.
- */
- value?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot line within the
- * chart.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) An optional scrollbar to display on the X axis in response to
- * limiting the minimum and maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are replaced
- * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
- * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
- * `.highcharts-scrollbar-track`.
- */
- export interface XAxisScrollbarOptions {
- /**
- * (Highstock) The background color of the scrollbar itself.
- */
- barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the scrollbar's border.
- */
- barBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border rounding radius of the bar.
- */
- barBorderRadius?: number;
- /**
- * (Highstock) The width of the bar's border.
- */
- barBorderWidth?: number;
- /**
- * (Highstock) The color of the small arrow inside the scrollbar buttons.
- */
- buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of scrollbar buttons.
- */
- buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar buttons.
- */
- buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the scrollbar buttons.
- */
- buttonBorderRadius?: number;
- /**
- * (Highstock) The border width of the scrollbar buttons.
- */
- buttonBorderWidth?: number;
- /**
- * (Highstock) Enable or disable the scrollbar.
- */
- enabled?: boolean;
- /**
- * (Highstock) The height of the scrollbar. The height also applies to the
- * width of the scroll arrows so that they are always squares. Defaults to
- * 20 for touch devices and 14 for mouse devices.
- */
- height?: number;
- /**
- * (Highstock) Whether to redraw the main chart as the scrollbar or the
- * navigator zoomed window is moved. Defaults to `true` for modern browsers
- * and `false` for legacy IE browsers as well as mobile devices.
- */
- liveRedraw?: boolean;
- /**
- * (Highstock) The margin between the scrollbar and its axis when the
- * scrollbar is applied directly to an axis.
- */
- margin?: number;
- /**
- * (Highstock) The minimum width of the scrollbar.
- */
- minWidth?: number;
- /**
- * (Highstock) The color of the small rifles in the middle of the scrollbar.
- */
- rifleColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Whether to show or hide the scrollbar when the scrolled
- * content is zoomed out to it full extent.
- */
- showFull?: boolean;
- step?: number;
- /**
- * (Highstock) The color of the track background.
- */
- trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar track.
- */
- trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the border of the scrollbar track.
- */
- trackBorderRadius?: number;
- /**
- * (Highstock) The width of the border of the scrollbar track.
- */
- trackBorderWidth?: number;
- /**
- * (Highstock) The z index of the scrollbar group.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
- * axis line.
- */
- export interface XAxisTitleOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
- * to the axis values. Possible values are "low", "middle" or "high".
- */
- align?: AxisTitleAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
- * axis labels or line and the title. Defaults to 0 for horizontal axes, 10
- * for vertical
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
- * from the axis line. By default, this distance is computed from the offset
- * width of the labels, the labels' distance from the axis and the title's
- * margin. However when the offset option is set, it overrides all this.
- */
- offset?: number;
- /**
- * (Highcharts) Defines how the title is repositioned according to the 3D
- * chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- *
- * - `undefined`: Will use the config from `labels.position3d`
- */
- position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
- /**
- * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
- * when laying out the axis.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
- * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis title will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `title.position3d`.
- *
- * A `null` value will use the config from `labels.skew3d`.
- */
- skew3d?: (boolean|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
- * title text is longer than the axis length, it will wrap to multiple lines
- * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
- * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-title`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The actual text of the axis
- * title. It can contain basic HTML tags like `b`, `i` and `span` with
- * style.
- */
- text?: (string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
- * `"left"`, `"right"` or `"center"`. Default alignment depends on the
- * title.align:
- *
- * Horizontal axes:
- *
- * - for `align` = `"low"`, `textAlign` is set to `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"`, `textAlign` is set to `right`
- *
- * Vertical axes:
- *
- * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
- * `right`
- *
- * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
- * `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
- * `left`
- *
- * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
- * `right`
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
- * title.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
- * position.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
- * position.
- */
- y?: number;
- }
- /**
- * (Gantt) Connect to a point. This option can be either a string, referring to
- * the ID of another point, or an object, or an array of either. If the option
- * is an array, each element defines a connection.
- */
- export interface XrangePointConnectorsOptionsObject {
- /**
- * (Gantt) Set the default dash style for this chart's connecting lines.
- */
- dashStyle?: string;
- /**
- * (Gantt) Marker options specific to the end markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- endMarker?: ConnectorsEndMarkerOptions;
- /**
- * (Gantt) Set the default color for this chart's Pathfinder connecting
- * lines. Defaults to the color of the point being connected.
- */
- lineColor?: ColorString;
- /**
- * (Gantt) Set the default pixel width for this chart's Pathfinder
- * connecting lines.
- */
- lineWidth?: number;
- /**
- * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
- * this option is overridden by the `startMarker` and `endMarker` options.
- */
- marker?: ConnectorsMarkerOptions;
- /**
- * (Gantt) Marker options specific to the start markers for this chart's
- * Pathfinder connectors. Overrides the generic marker options.
- */
- startMarker?: ConnectorsStartMarkerOptions;
- /**
- * (Gantt) The ID of the point to connect to.
- */
- to?: string;
- /**
- * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
- * possible to define your own algorithms by adding them to the
- * Highcharts.Pathfinder.prototype.algorithms object before the chart has
- * been created.
- *
- * The default algorithms are as follows:
- *
- * `straight`: Draws a straight line between the connecting points. Does not
- * avoid other points when drawing.
- *
- * `simpleConnect`: Finds a path between the points using right angles only.
- * Takes only starting/ending points into account, and will not avoid other
- * points.
- *
- * `fastAvoid`: Finds a path between the points using right angles only.
- * Will attempt to avoid other points, but its focus is performance over
- * accuracy. Works well with less dense datasets.
- *
- * Default value: `straight` is used as default for most series types, while
- * `simpleConnect` is used as default for Gantt series, to show dependencies
- * between points.
- */
- type?: PathfinderTypeValue;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of data points for the series. For
- * the `xrange` series type, points can be given in the following ways:
- *
- * 1. An array of objects with named values. The objects are point configuration
- * objects as seen below. (see online documentation for example)
- */
- export interface XrangePointOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
- */
- accessibility?: PointAccessibilityOptionsObject;
- /**
- * (Highcharts, Gantt) An additional, individual class name for the data
- * point's graphic representation.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) Individual color for the point. By default
- * the color is pulled from the global `colors` array.
- *
- * In styled mode, the `color` option doesn't take effect. Instead, use
- * `colorIndex`.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Gantt) A specific color index to use for the point, so its
- * graphic representations are given the class name `highcharts-color-{n}`.
- * In styled mode this will change the color of the graphic. In non-styled
- * mode, the color by is set by the `fill` attribute, so the change in class
- * name won't have a visual effect by default.
- */
- colorIndex?: number;
- /**
- * (Gantt) Connect to a point. This option can be either a string, referring
- * to the ID of another point, or an object, or an array of either. If the
- * option is an array, each element defines a connection.
- */
- connect?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
- /**
- * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
- * values for customized functionality. Here you can add additional data for
- * your own event callbacks and formatter callbacks.
- */
- custom?: Dictionary<any>;
- /**
- * (Highcharts, Highstock, Gantt) Individual data label for each point. The
- * options are the same as the ones for plotOptions.series.dataLabels.
- */
- dataLabels?: (DataLabelsOptions|Array<DataLabelsOptions>);
- /**
- * (Highcharts, Highstock, Gantt) A description of the point to add to the
- * screen reader information about the point.
- */
- description?: string;
- /**
- * (Highcharts, Highstock, Gantt) Point specific options for the
- * draggable-points module. Overrides options on `series.dragDrop`.
- */
- dragDrop?: SeriesLineDataDragDropOptions;
- /**
- * (Highcharts) The `id` of a series in the drilldown.series array to use
- * for a drilldown for this point.
- */
- drilldown?: string;
- /**
- * (Highcharts, Highstock, Gantt) The individual point events.
- */
- events?: PointEventsOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) An id for the point. This can be used
- * after render time to get a pointer to the point object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) The rank for this point's data label in
- * case of collision. If two data labels are about to overlap, only the one
- * with the highest `labelrank` will be drawn.
- */
- labelrank?: number;
- /**
- * (Highcharts, Highstock) Options for the point markers of line-like
- * series.
- */
- marker?: PointMarkerOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) The name of the point as shown in the
- * legend, tooltip, dataLabels, etc.
- */
- name?: string;
- /**
- * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
- * used to visualize how much of a task is performed. The partial fill
- * object can be set either on series or point level.
- */
- partialFill?: XrangePointPartialFillOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) Whether the data point is selected
- * initially.
- */
- selected?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) The starting X value of the range point.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) The ending X value of the range point.
- */
- x2?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Y value of the range point.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
- * to visualize how much of a task is performed. The partial fill object can be
- * set either on series or point level.
- */
- export interface XrangePointPartialFillOptionsObject {
- /**
- * (Highcharts, Highstock, Gantt) The amount of the X-range point to be
- * filled. Values can be 0-1 and are converted to percentages in the default
- * data label formatter.
- */
- amount?: number;
- /**
- * (Highcharts, Highstock, Gantt) The fill color to be used for partial
- * fills. Defaults to a darker shade of the point color.
- */
- fill?: (ColorString|GradientColorObject|PatternObject);
- }
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to each
- * other.
- */
- export interface YAxisBreaksOptions {
- /**
- * (Highcharts, Highstock, Gantt) A number indicating how much space should
- * be left between the start and the end of the break. The break size is
- * given in axis units, so for instance on a `datetime` axis, a break size
- * of 3600000 would indicate the equivalent of an hour.
- */
- breakSize?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break starts.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) Defines an interval after which the break
- * appears again. By default the breaks do not repeat.
- */
- repeat?: number;
- /**
- * (Highcharts, Highstock, Gantt) The point where the break ends.
- */
- to?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
- */
- export interface YAxisEventsOptions {
- /**
- * (Highcharts, Gantt) An event fired after the breaks have rendered.
- */
- afterBreaks?: AxisEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
- * event, this event fires after the final min and max values are computed
- * and corrected for `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Gantt) An event fired when a break from this axis occurs on
- * a point.
- */
- pointBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
- * break from this axis.
- */
- pointInBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
- * maximum is set for the axis, either by calling the `.setExtremes()`
- * method or by selecting an area in the chart. One parameter, `event`, is
- * passed to the function, containing common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface YAxisGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
- * over labels options.
- */
- export interface YAxisLabelsLevelsOptions {
- /**
- * (Gantt) Specify the level which the options within this object applies
- * to.
- */
- level?: number;
- style?: CSSObject;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
- * category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
- * `tickInterval` and `step` is set to 1.
- */
- export interface YAxisLabelsOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
- * given position is anchored to. Can be one of `"left"`, `"center"` or
- * `"right"`. The exact position also depends on the `labels.x` setting.
- *
- * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
- * two labels have additional option `"auto"` for automatic horizontal and
- * vertical alignment.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts) Angular gauges and solid gauges only. The label's pixel
- * distance from the perimeter of the plot area.
- *
- * Since v7.1.2: If it's a percentage string, it is interpreted the same as
- * series.radius, so label can be aligned under the gauge's shape.
- */
- distance?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
- * labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
- * label.
- */
- format?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
- * format the label. The value is given by `this.value`. Additional
- * properties for `this` are `axis`, `chart`, `isFirst` and `isLast`. The
- * value of the default label formatter can be retrieved by calling
- * `this.axis.defaultLabelFormatter.call(this)` within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Gantt) Set options on specific levels in a tree grid axis. Takes
- * precedence over labels options.
- */
- levels?: Array<YAxisLabelsLevelsOptions>;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
- * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
- * By default it `"justify"` labels inside the chart area. If there is room
- * to move it, it will be aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
- * degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
- * of lines to spread the labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
- * on the axis, set the step to _n_. Setting the step to 2 shows every other
- * label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
- * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
- * `textOverflow: 'none'` to prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The symbol for the collapse and expand icon in a treegrid.
- */
- symbol?: YAxisLabelsSymbolOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
- * the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
- * labels relative to the tick positions on the axis. Defaults to -15 for
- * left axis, 15 for right axis.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
- * labels relative to the tick positions on the axis. For polar and radial
- * axis consider the use of the distance option.
- */
- y?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Gantt) The symbol for the collapse and expand icon in a treegrid.
- */
- export interface YAxisLabelsSymbolOptions {
- height?: number;
- padding?: number;
- /**
- * (Gantt) The symbol type. Points to a definition function in the
- * `Highcharts.Renderer.symbols` collection.
- */
- type?: SymbolKeyValue;
- width?: number;
- x?: number;
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis. Normally
- * this is the vertical axis, though if the chart is inverted this is the
- * horizontal axis. In case of multiple axes, the yAxis node is an array of
- * configuration objects.
- *
- * See the Axis object for programmatic access to the axis.
- */
- export interface YAxisOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
- * axis. Requires the accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
- * this axis' ticks. When counting integers, like persons or hits on a web
- * page, decimals should be avoided in the labels.
- */
- allowDecimals?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
- * color, a band is painted across the plot area between every other grid
- * line.
- */
- alternateGridColor?: ColorType;
- /**
- * (Highcharts) In a polar chart, this is the angle of the Y axis in
- * degrees, where 0 is up and 90 is right. The angle determines the position
- * of the axis line and the labels, though the coordinate system is
- * unaffected. Since v8.0.0 this option is also applicable for X axis
- * (inverted polar).
- */
- angle?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
- * sections defined will be left out and all the points shifted closer to
- * each other.
- */
- breaks?: Array<YAxisBreaksOptions>;
- /**
- * (Highcharts, Gantt) If categories are present for the xAxis, names are
- * used instead of numbers for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- *
- * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
- */
- categories?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
- * styling the axis by CSS, especially in Highcharts styled mode. The class
- * name is applied to group elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
- * follows either the mouse pointer or the hovered point.
- *
- * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
- * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
- */
- crosshair?: (boolean|AxisCrosshairOptions);
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations
- * used for each unit. For intermediate values, different units may be used,
- * for example the `day` unit can be used on midnight and `hour` unit be
- * used for intermediate values on the same axis. For grid axes (like in
- * Gantt charts), it is possible to declare as a list to provide different
- * formats depending on available space. For an overview of the replacement
- * codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
- * on a tick. Use this option with the `maxPadding` option to control the
- * axis end.
- *
- * This option is always disabled, when panning type is either `y` or `xy`.
- */
- endOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
- */
- events?: YAxisEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: YAxisGridOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
- * extending the ticks across the plot area.
- *
- * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
- */
- gridLineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
- * grid lines. For possible values, see this demonstration.
- */
- gridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Polar charts only. Whether the grid lines should draw as a
- * polygon with straight lines between categories, or as circles. Can be
- * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
- * for X axis (inverted polar).
- */
- gridLineInterpolation?: OptionsGridLineInterpolationValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
- * extending the ticks across the plot area.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- gridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
- * interpreted as pixels.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the total plot height.
- */
- height?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
- * used after render time to get a pointer to the axis object through
- * `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
- * or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating
- * data if `tickInterval` and `step` is set to 1.
- */
- labels?: YAxisLabelsOptions;
- /**
- * (Highcharts, Highstock) The left position as the horizontal axis. If it's
- * a number, it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the plot width, offset from plot area left.
- */
- left?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
- * the axis itself.
- *
- * In styled mode, the line stroke is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
- * the axis itself.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-line`
- * or `.highcharts-xaxis-line` class.
- */
- lineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
- * linked to. When an axis is linked to a master axis, it will take the same
- * extremes as the master, but as assigned by min or max or by setExtremes.
- * It can be used to show additional info, or to ease reading the chart by
- * duplicating the scales.
- */
- linkedTo?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
- * the same side of the chart, the pixel margin between the axes. Defaults
- * to 0 on vertical axes, 15 on horizontal axes.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
- * If `null`, the max value is automatically calculated.
- *
- * If the endOnTick option is true, the `max` value might be rounded up.
- *
- * If a tickAmount is set, the axis may be extended beyond the set max in
- * order to reach the given number of ticks. The same may happen in a chart
- * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
- * is applied internally.
- */
- max?: (number|null);
- /**
- * (Highcharts) Solid gauge only. Unless stops are set, the color to
- * represent the maximum value of the Y axis.
- */
- maxColor?: ColorType;
- /**
- * (Highstock) Maximal size of a resizable axis. Could be set as a percent
- * of plot area or pixel size.
- */
- maxLength?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the highest data value to appear on
- * the edge of the plot area. When the axis' `max` option is set or a max
- * extreme is set using `axis.setExtremes()`, the maxPadding will be
- * ignored.
- *
- * Also the `softThreshold` option takes precedence over `maxPadding`, so if
- * the data is tangent to the threshold, `maxPadding` may not apply unless
- * `softThreshold` is set to false.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) Maximum range which can be set using the navigator's
- * handles. Opposite of xAxis.minRange.
- */
- maxRange?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
- * If `null` the min value is automatically calculated.
- *
- * If the startOnTick option is true (default), the `min` value might be
- * rounded down.
- *
- * The automatically calculated minimum value is also affected by floor,
- * softMin, minPadding, minRange as well as series.threshold and
- * series.softThreshold.
- */
- min?: (number|null);
- /**
- * (Highcharts) Solid gauge only. Unless stops are set, the color to
- * represent the minimum value of the Y axis.
- */
- minColor?: ColorType;
- /**
- * (Highstock) Minimal size of a resizable axis. Could be set as a percent
- * of plot area or pixel size.
- */
- minLength?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
- * grid lines.
- *
- * In styled mode, the stroke width is given in the
- * `.highcharts-minor-grid-line` class.
- */
- minorGridLineColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
- * minor grid lines. For possible values, see this demonstration.
- */
- minorGridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
- * grid lines.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- minorGridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
- * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
- * interval is calculated as a fifth of the tickInterval. If `null` or
- * `undefined`, minor ticks are not shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
- * tick marks.
- */
- minorTickLength?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
- * marks relative to the axis line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
- * Unless minorTickInterval is set, the tick interval is calculated as a
- * fifth of the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
- * tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the lowest data value to appear on the
- * edge of the plot area. When the axis' `min` option is set or a max
- * extreme is set using `axis.setExtremes()`, the maxPadding will be
- * ignored.
- *
- * Also the `softThreshold` option takes precedence over `minPadding`, so if
- * the data is tangent to the threshold, `minPadding` may not apply unless
- * `softThreshold` is set to false.
- */
- minPadding?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
- * this axis. The entire axis will not be allowed to span over a smaller
- * interval than this. For example, for a datetime axis the main unit is
- * milliseconds. If minRange is set to 3600000, you can't zoom in more than
- * to one hour.
- *
- * The default minRange for the x axis is five times the smallest interval
- * between any of the data points.
- *
- * On a logarithmic axis, the unit for the minimum range is the power. So a
- * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
- * 1000-10000 etc.
- *
- * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
- * settings also affect how the extremes of the axis are computed.
- */
- minRange?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
- * allowed in axis values. For example on zooming in on an axis with daily
- * data, this can be used to prevent the axis from showing hours. Defaults
- * to the closest distance between two points on the axis.
- */
- minTickInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
- * plot area to the axis line. A positive offset moves the axis with it's
- * line, labels and ticks away from the plot area. This is typically used
- * when two or more axes are displayed on the same side of the plot. With
- * multiple axes the offset is dynamically adjusted to avoid collision, this
- * can be overridden by setting offset explicitly.
- */
- offset?: number;
- /**
- * (Highstock, Highcharts, Gantt) Whether to display the axis on the
- * opposite side of the normal. The normal is on the left side for vertical
- * axes and bottom for horizontal, so the opposite sides will be right and
- * top respectively. This is typically used with dual or multiple axes.
- */
- opposite?: boolean;
- /**
- * (Highcharts) Refers to the index in the panes array. Used for circular
- * gauges and polar charts. When the option is not set then first pane will
- * be used.
- */
- pane?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching
- * across the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- plotBands?: Array<YAxisPlotBandsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the
- * plot area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- plotLines?: Array<YAxisPlotLinesOptions>;
- /**
- * (Highstock) The zoomed range to display when only defining one or none of
- * `min` or `max`. For example, to show the latest month, a range of one
- * month can be set.
- */
- range?: number;
- /**
- * (Highstock) Options for axis resizing. It adds a thick line between panes
- * which the user can drag in order to resize the panes.
- */
- resize?: YAxisResizeOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
- * that the highest number is closest to the origin.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock) If `true`, the first series in a stack will be
- * drawn on top in a positive, non-reversed Y axis. If `false`, the first
- * series is in the base of the stack.
- */
- reversedStacks?: boolean;
- /**
- * (Highstock) An optional scrollbar to display on the Y axis in response to
- * limiting the minimum an maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are
- * replaced by the classes `.highcharts-scrollbar-thumb`,
- * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
- * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
- */
- scrollbar?: YAxisScrollbarOptions;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
- * and title when the axis has no data.
- */
- showEmpty?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
- * label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- *
- * **Note**: The series.softThreshold option takes precedence over this
- * option.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- *
- * **Note**: The series.softThreshold option takes precedence over this
- * option.
- */
- softMin?: number;
- /**
- * (Highcharts) The stack labels show the total value for each bar in a
- * stacked column or bar chart. The label will be placed on top of positive
- * columns and below negative columns. In case of an inverted column chart
- * or a bar chart the label is placed to the right of positive bars and to
- * the left of negative bars.
- */
- stackLabels?: YAxisStackLabelsOptions;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
- * tick. Use this option with the `maxPadding` option to control the axis
- * start.
- *
- * This option is always disabled, when panning type is either `y` or `xy`.
- */
- startOnTick?: boolean;
- /**
- * (Gantt) For vertical axes only. Setting the static scale ensures that
- * each tick unit is translated into a fixed pixel height. For example,
- * setting the static scale to 24 results in each Y axis category taking up
- * 24 pixels, and the height of the chart adjusts. Adding or removing items
- * will make the chart resize.
- */
- staticScale?: number;
- /**
- * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
- * Use this in cases where a linear gradient between a `minColor` and
- * `maxColor` is not sufficient. The stops is an array of tuples, where the
- * first item is a float between 0 and 1 assigning the relative position in
- * the gradient, and the second item is the color.
- *
- * For solid gauges, the Y axis also inherits the concept of data classes
- * from the Highmaps color axis.
- */
- stops?: Array<[number, ColorType]>;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
- * in axis units. When `undefined`, the tick interval is computed to
- * approximately follow the tickPixelInterval on linear and datetime axes.
- * On categorized axes, a `undefined` tickInterval will default to 1, one
- * category. Note that datetime axes are based on milliseconds, so for
- * example an interval of one day is expressed as `24 * 3600 * 1000`.
- *
- * On logarithmic axes, the tickInterval is based on powers, so a
- * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
- * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
- * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
- * etc.
- *
- * If the tickInterval is too dense for labels to be drawn, Highcharts may
- * remove ticks.
- *
- * If the chart has multiple axes, the alignTicks option may interfere with
- * the `tickInterval` setting.
- */
- tickInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
- * tick marks.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
- * option sets the approximate pixel interval of the tick marks. Not
- * applicable to categorized axis.
- *
- * The tick interval is also influenced by the minTickInterval option, that,
- * by default prevents ticks from being denser than the data points.
- */
- tickPixelInterval?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
- * marks relative to the axis line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
- * array defining where the ticks are laid out on the axis. This overrides
- * the default behaviour of tickPixelInterval and tickInterval. The
- * automatic tick positions are accessible through `this.tickPositions` and
- * can be modified by the callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
- * ticks are laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
- */
- tickWidth?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
- * the axis line.
- */
- title?: YAxisTitleOptions;
- /**
- * (Highcharts) Parallel coordinates only. Format that will be used for
- * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
- * If not set, `{point.formattedValue}` will use other options, in this
- * order:
- *
- * 1. yAxis.labels.format will be used if set
- *
- * 2. If yAxis is a category, then category name will be displayed
- *
- * 3. If yAxis is a datetime, then value will use the same format as yAxis
- * labels
- *
- * 4. If yAxis is linear/logarithmic type, then simple value will be used
- */
- tooltipValueFormat?: string;
- /**
- * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
- * it is interpreted as pixel position relative to the chart.
- *
- * Since Highcharts 2: If it's a percentage string, it is interpreted as
- * percentages of the plot height, offset from plot area top.
- */
- top?: (number|string);
- /**
- * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
- * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
- * `treegrid` for Gantt charts, `linear` for other chart types.
- *
- * In a datetime axis, the numbers are given in milliseconds, and tick marks
- * are placed on appropriate values, like full hours or days. In a category
- * or treegrid axis, the point names of the chart's series are used for
- * categories, if a categories array is not defined.
- */
- type?: AxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
- * what time intervals the ticks are allowed to fall on. Each array item is
- * an array where the first value is the time unit and the second value
- * another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- /**
- * (Highcharts, Highstock) The width as the horizontal axis. If it's a
- * number, it is interpreted as pixels.
- *
- * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
- * as percentages of the total plot width.
- */
- width?: (number|string);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
- * `chart.zoomType` is set, the option allows to disable zooming on an
- * individual axis.
- */
- zoomEnabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface YAxisPlotBandsEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface YAxisPlotBandsLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-band-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
- * is supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot band. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
- * the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- export interface YAxisPlotBandsOptions {
- /**
- * (Highstock) Flag to decide if plotBand should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
- * requires `borderWidth` to be set.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
- * requires `borderColor` to be set.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-band`, to apply to each individual band.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the plot band.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: YAxisPlotBandsEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The start position of the plot band in
- * axis units.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
- * in Axis.removePlotBand.
- */
- id?: string;
- /**
- * (Highcharts) In a gauge chart, this option determines the inner radius of
- * the plot band that stretches along the perimeter. It can be given as a
- * percentage string, like `"100%"`, or as a pixel number, like `100`. By
- * default, the inner radius is controlled by the thickness option.
- */
- innerRadius?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: YAxisPlotBandsLabelOptions;
- /**
- * (Highcharts) In a gauge chart, this option determines the outer radius of
- * the plot band that stretches along the perimeter. It can be given as a
- * percentage string, like `"100%"`, or as a pixel number, like `100`.
- */
- outerRadius?: (number|string);
- /**
- * (Highcharts) In a gauge chart, this option sets the width of the plot
- * band stretching along the perimeter. It can be given as a percentage
- * string, like `"10%"`, or as a pixel number, like `10`. The default value
- * 10 is the same as the default tickLength, thus making the plot band act
- * as a background for the tick markers.
- */
- thickness?: (number|string);
- /**
- * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
- * units.
- */
- to?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot band within the
- * chart, relative to other elements. Using the same z index as another
- * element may give unpredictable results, as the last rendered element will
- * be on top. Values from 0 to 20 make sense.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface YAxisPlotLinesEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface YAxisPlotLinesLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
- * label. Useful properties like the value of plot line or the range of plot
- * band (`from` & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
- * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
- * supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot line. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
- * area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- export interface YAxisPlotLinesOptions {
- /**
- * (Highstock) Flag to decide if plotLine should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-line`, to apply to each individual line.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the line.
- */
- color?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
- * line. For possible values see this overview.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: YAxisPlotLinesEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
- * in Axis.removePlotLine.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: YAxisPlotLinesLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The position of the line in axis units.
- */
- value?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot line within the
- * chart.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) Contains two arrays of axes that are controlled by control line
- * of the axis.
- */
- export interface YAxisResizeControlledAxisOptions {
- /**
- * (Highstock) Array of axes that should move out of the way of resizing
- * being done for the current axis. If not set, the next axis will be used.
- */
- next?: Array<(number|string)>;
- /**
- * (Highstock) Array of axes that should move with the current axis while
- * resizing.
- */
- prev?: Array<(number|string)>;
- }
- /**
- * (Highstock) Options for axis resizing. It adds a thick line between panes
- * which the user can drag in order to resize the panes.
- */
- export interface YAxisResizeOptions {
- /**
- * (Highstock) Contains two arrays of axes that are controlled by control
- * line of the axis.
- */
- controlledAxis?: YAxisResizeControlledAxisOptions;
- /**
- * (Highstock) Cursor style for the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- cursor?: string;
- /**
- * (Highstock) Enable or disable resize by drag for the axis.
- */
- enabled?: boolean;
- /**
- * (Highstock) Color of the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- lineColor?: ColorString;
- /**
- * (Highstock) Dash style of the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- lineDashStyle?: string;
- /**
- * (Highstock) Width of the control line.
- *
- * In styled mode use class `highcharts-axis-resizer` instead.
- */
- lineWidth?: number;
- /**
- * (Highstock) Horizontal offset of the control line.
- */
- x?: number;
- /**
- * (Highstock) Vertical offset of the control line.
- */
- y?: number;
- }
- /**
- * (Highstock) An optional scrollbar to display on the Y axis in response to
- * limiting the minimum an maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are replaced
- * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
- * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
- * `.highcharts-scrollbar-track`.
- */
- export interface YAxisScrollbarOptions {
- /**
- * (Highstock) The background color of the scrollbar itself.
- */
- barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the scrollbar's border.
- */
- barBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border rounding radius of the bar.
- */
- barBorderRadius?: number;
- /**
- * (Highstock) The width of the bar's border.
- */
- barBorderWidth?: number;
- /**
- * (Highstock) The color of the small arrow inside the scrollbar buttons.
- */
- buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of scrollbar buttons.
- */
- buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar buttons.
- */
- buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the scrollbar buttons.
- */
- buttonBorderRadius?: number;
- /**
- * (Highstock) The border width of the scrollbar buttons.
- */
- buttonBorderWidth?: number;
- /**
- * (Highstock) Enable the scrollbar on the Y axis.
- */
- enabled?: boolean;
- /**
- * (Highstock) Whether to redraw the main chart as the scrollbar or the
- * navigator zoomed window is moved. Defaults to `true` for modern browsers
- * and `false` for legacy IE browsers as well as mobile devices.
- */
- liveRedraw?: boolean;
- /**
- * (Highstock) Pixel margin between the scrollbar and the axis elements.
- */
- margin?: number;
- /**
- * (Highstock) The minimum width of the scrollbar.
- */
- minWidth?: number;
- /**
- * (Highstock) The color of the small rifles in the middle of the scrollbar.
- */
- rifleColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Whether to show the scrollbar when it is fully zoomed out at
- * max range. Setting it to `false` on the Y axis makes the scrollbar stay
- * hidden until the user zooms in, like common in browsers.
- */
- showFull?: boolean;
- /**
- * (Highstock) The width of a vertical scrollbar or height of a horizontal
- * scrollbar. Defaults to 20 on touch devices.
- */
- size?: number;
- step?: number;
- /**
- * (Highstock) The color of the track background.
- */
- trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar track.
- */
- trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the border of the scrollbar track.
- */
- trackBorderRadius?: number;
- /**
- * (Highstock) The width of the border of the scrollbar track.
- */
- trackBorderWidth?: number;
- /**
- * (Highstock) Z index of the scrollbar elements.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `stackLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- export interface YAxisStackLabelsAnimationOptions {
- /**
- * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
- * stackLabel immediately. As `undefined` inherits defer time from the
- * series.animation.defer.
- */
- defer?: number;
- }
- /**
- * (Highcharts) The stack labels show the total value for each bar in a stacked
- * column or bar chart. The label will be placed on top of positive columns and
- * below negative columns. In case of an inverted column chart or a bar chart
- * the label is placed to the right of positive bars and to the left of negative
- * bars.
- */
- export interface YAxisStackLabelsOptions {
- /**
- * (Highcharts) Defines the horizontal alignment of the stack total label.
- * Can be one of `"left"`, `"center"` or `"right"`. The default value is
- * calculated at runtime and depends on orientation and whether the stack is
- * positive or negative.
- */
- align?: AlignValue;
- /**
- * (Highcharts) Allow the stack labels to overlap.
- */
- allowOverlap?: boolean;
- /**
- * (Highcharts) Enable or disable the initial animation when a series is
- * displayed for the `stackLabels`. The animation can also be set as a
- * configuration object. Please note that this option only applies to the
- * initial animation. For other animations, see chart.animation and the
- * animation parameter under the API methods. The following properties are
- * supported:
- *
- * - `defer`: The animation delay time in milliseconds.
- */
- animation?: (boolean|YAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
- /**
- * (Highcharts) The background color or gradient for the stack label.
- */
- backgroundColor?: ColorType;
- /**
- * (Highcharts) The border color for the stack label. Defaults to
- * `undefined`.
- */
- borderColor?: ColorType;
- /**
- * (Highcharts) The border radius in pixels for the stack label.
- */
- borderRadius?: number;
- /**
- * (Highcharts) The border width in pixels for the stack label.
- */
- borderWidth?: number;
- /**
- * (Highcharts) Whether to hide stack labels that are outside the plot area.
- * By default, the stack label is moved inside the plot area according to
- * the overflow option.
- */
- crop?: boolean;
- /**
- * (Highcharts) Enable or disable the stack total labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts, Highstock) A format string for the data label. Available
- * variables are the same as for `formatter`.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the label. The value
- * is given by `this.total`.
- */
- formatter?: FormatterCallbackFunction<StackItemObject>;
- /**
- * (Highcharts) How to handle stack total labels that flow outside the plot
- * area. The default is set to `"justify"`, which aligns them inside the
- * plot area. For columns and bars, this means it will be moved inside the
- * bar. To display stack labels outside the plot area, set `crop` to `false`
- * and `overflow` to `"allow"`.
- */
- overflow?: DataLabelsOverflowValue;
- /**
- * (Highcharts) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) CSS styles for the label.
- *
- * In styled mode, the styles are set in the `.highcharts-stack-label`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts) The text alignment for the label. While `align` determines
- * where the texts anchor point is placed with regards to the stack,
- * `textAlign` determines how the text is aligned against its anchor point.
- * Possible values are `"left"`, `"center"` and `"right"`. The default value
- * is calculated at runtime and depends on orientation and whether the stack
- * is positive or negative.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) Defines the vertical alignment of the stack total label. Can
- * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
- * calculated at runtime and depends on orientation and whether the stack is
- * positive or negative.
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts) The x position offset of the label relative to the left of
- * the stacked bar. The default value is calculated at runtime and depends
- * on orientation and whether the stack is positive or negative.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of the label relative to the tick
- * position on the axis. The default value is calculated at runtime and
- * depends on orientation and whether the stack is positive or negative.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
- * axis line.
- */
- export interface YAxisTitleOptions {
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
- * to the axis values. Possible values are "low", "middle" or "high".
- */
- align?: AxisTitleAlignValue;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
- * axis labels and the title. Positive values are outside the axis line,
- * negative are inside.
- */
- margin?: number;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
- * from the axis line. By default, this distance is computed from the offset
- * width of the labels, the labels' distance from the axis and the title's
- * margin. However when the offset option is set, it overrides all this.
- */
- offset?: number;
- /**
- * (Highcharts) Defines how the title is repositioned according to the 3D
- * chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- *
- * - `undefined`: Will use the config from `labels.position3d`
- */
- position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
- /**
- * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
- * when laying out the axis.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
- * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis title will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `title.position3d`.
- *
- * A `null` value will use the config from `labels.skew3d`.
- */
- skew3d?: (boolean|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
- * title text is longer than the axis length, it will wrap to multiple lines
- * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
- * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-title`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The actual text of the axis title.
- * Horizontal texts can contain HTML, but rotated texts are painted using
- * vector techniques and must be clean text. The Y axis title is disabled by
- * setting the `text` option to `undefined`.
- */
- text?: (string|null);
- /**
- * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
- * `"left"`, `"right"` or `"center"`. Default alignment depends on the
- * title.align:
- *
- * Horizontal axes:
- *
- * - for `align` = `"low"`, `textAlign` is set to `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"`, `textAlign` is set to `right`
- *
- * Vertical axes:
- *
- * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
- * `right`
- *
- * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
- * `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
- * `left`
- *
- * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
- * `right`
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
- * title.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
- * position.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
- * position.
- */
- y?: number;
- }
- /**
- * (Gantt) An object defining mouse events for the plot line. Supported
- * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface ZAxisCurrentDateIndicatorEventsOptions {
- /**
- * (Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse out event on the corner of a plot band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Gantt) Text labels for the plot bands
- */
- export interface ZAxisCurrentDateIndicatorLabelOptions {
- /**
- * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
- * or "right".
- */
- align?: AlignValue;
- /**
- * (Gantt) Format of the label. This options is passed as the fist argument
- * to dateFormat function.
- */
- format?: string;
- /**
- * (Gantt) Callback JavaScript function to format the label. Useful
- * properties like the value of plot line or the range of plot band (`from`
- * & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
- * horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Gantt) The text itself. A subset of HTML is supported.
- */
- text?: string;
- /**
- * (Gantt) The text alignment for the label. While `align` determines where
- * the texts anchor point is placed within the plot band, `textAlign`
- * determines how the text is aligned against its anchor point. Possible
- * values are "left", "center" and "right". Defaults to the same as the
- * `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Gantt) Vertical alignment of the label relative to the plot line. Can be
- * one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Gantt) Horizontal position relative the alignment. Default varies by
- * orientation.
- */
- x?: number;
- /**
- * (Gantt) Vertical position of the text baseline relative to the alignment.
- * Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts) Event handlers for the axis.
- */
- export interface ZAxisEventsOptions {
- /**
- * (Highcharts, Gantt) An event fired after the breaks have rendered.
- */
- afterBreaks?: AxisEventCallbackFunction;
- /**
- * (Highcharts) As opposed to the `setExtremes` event, this event fires
- * after the final min and max values are computed and corrected for
- * `minRange`.
- *
- * Fires when the minimum and maximum is set for the axis, either by calling
- * the `.setExtremes()` method or by selecting an area in the chart. One
- * parameter, `event`, is passed to the function, containing common event
- * information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in axis
- * values. The actual data extremes are found in `event.dataMin` and
- * `event.dataMax`.
- */
- afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
- /**
- * (Highcharts, Gantt) An event fired when a break from this axis occurs on
- * a point.
- */
- pointBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
- * break from this axis.
- */
- pointInBreak?: AxisPointBreakEventCallbackFunction;
- /**
- * (Highcharts) Fires when the minimum and maximum is set for the axis,
- * either by calling the `.setExtremes()` method or by selecting an area in
- * the chart. One parameter, `event`, is passed to the function, containing
- * common event information.
- *
- * The new user set minimum and maximum values can be found by `event.min`
- * and `event.max`. These reflect the axis minimum and maximum in data
- * values. When an axis is zoomed all the way out from the "Reset zoom"
- * button, `event.min` and `event.max` are null, and the new extremes are
- * set based on `this.dataMin` and `this.dataMax`.
- */
- setExtremes?: AxisSetExtremesEventCallbackFunction;
- }
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- export interface ZAxisGridOptions {
- /**
- * (Gantt) Set border color for the label grid lines.
- */
- borderColor?: ColorString;
- /**
- * (Gantt) Set border width of the label grid lines.
- */
- borderWidth?: number;
- /**
- * (Gantt) Set cell height for grid axis labels. By default this is
- * calculated from font size. This option only applies to horizontal axes.
- */
- cellHeight?: number;
- /**
- * (Gantt) Set specific options for each column (or row for horizontal axes)
- * in the grid. Each extra column/row is its own axis, and the axis options
- * can be set here.
- */
- columns?: Array<XAxisOptions>;
- /**
- * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
- * charts.
- */
- enabled?: boolean;
- }
- /**
- * (Highcharts) The axis labels show the number or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
- * `tickInterval` and `step` is set to 1.
- */
- export interface ZAxisLabelsOptions {
- /**
- * (Highcharts) What part of the string the given position is anchored to.
- * If `left`, the left side of the string is at the axis position. Can be
- * one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
- * guess based on which side of the chart the axis is on and the rotation of
- * the label.
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
- * of label rotation to prevent overlapping labels. If there is enough
- * space, labels are not rotated. As the chart gets narrower, it will start
- * rotating the labels -45 degrees, then remove every second label and try
- * again with rotations 0 and -45 etc. Set it to `false` to disable
- * rotation, which will cause the labels to word-wrap if possible.
- */
- autoRotation?: (false|Array<number>);
- /**
- * (Highcharts, Gantt) When each category width is more than this many
- * pixels, we don't apply auto rotation. Instead, we lay out the axis label
- * with word wrap. A lower limit makes sense when the label contains
- * multiple short words that don't extend the available horizontal space for
- * each label.
- */
- autoRotationLimit?: number;
- /**
- * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
- * the perimeter of the plot area.
- */
- distance?: number;
- /**
- * (Highcharts) Enable or disable the axis labels.
- */
- enabled?: boolean;
- /**
- * (Highcharts) A format string for the axis label.
- */
- format?: string;
- /**
- * (Highcharts) Callback JavaScript function to format the label. The value
- * is given by `this.value`. Additional properties for `this` are `axis`,
- * `chart`, `isFirst` and `isLast`. The value of the default label formatter
- * can be retrieved by calling `this.axis.defaultLabelFormatter.call(this)`
- * within the function.
- *
- * Defaults to: (see online documentation for example)
- */
- formatter?: AxisLabelsFormatterCallbackFunction;
- /**
- * (Gantt) The number of pixels to indent the labels per level in a treegrid
- * axis.
- */
- indentation?: number;
- /**
- * (Highcharts) How to handle overflowing labels on horizontal axis. If set
- * to `"allow"`, it will not be aligned at all. By default it `"justify"`
- * labels inside the chart area. If there is room to move it, it will be
- * aligned to the edge, else it will be removed.
- */
- overflow?: OptionsOverflowValue;
- /**
- * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
- * space between them.
- */
- padding?: number;
- /**
- * (Highcharts) Defines how the labels are be repositioned according to the
- * 3D chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- */
- position3d?: OptionsPosition3dValue;
- /**
- * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
- * space is reserved for the labels in these cases:
- *
- * * On all horizontal axes.
- *
- * * On vertical axes if `label.align` is `right` on a left-side axis or
- * `left` on a right-side axis.
- *
- * * On vertical axes if `label.align` is `center`.
- *
- * This can be turned off when for example the labels are rendered inside
- * the plot area instead of outside.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts) Rotation of the labels in degrees.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis labels will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `labels.position3d`.
- */
- skew3d?: boolean;
- /**
- * (Highcharts) Horizontal axes only. The number of lines to spread the
- * labels over to make room or tighter labels.
- */
- staggerLines?: number;
- /**
- * (Highcharts) To show only every _n_'th label on the axis, set the step to
- * _n_. Setting the step to 2 shows every other label.
- *
- * By default, the step is calculated automatically to avoid overlap. To
- * prevent this, set it to 1\. This usually only happens on a category axis,
- * and is often a sign that you have chosen the wrong axis type.
- *
- * Read more at Axis docs => What axis should I use?
- */
- step?: number;
- /**
- * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
- * prevent wrapping of category labels. Use `textOverflow: 'none'` to
- * prevent ellipsis (dots).
- *
- * In styled mode, the labels are styled with the `.highcharts-axis-labels`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts) The x position offset of all labels relative to the tick
- * positions on the axis.
- */
- x?: number;
- /**
- * (Highcharts) The y position offset of all labels relative to the tick
- * positions on the axis. The default makes it adapt to the font size of the
- * bottom axis.
- */
- y?: number;
- /**
- * (Highcharts) The Z index for the axis labels.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) The Z axis or depth axis for 3D plots.
- *
- * See the Axis class for programmatic access to the axis.
- */
- export interface ZAxisOptions {
- /**
- * (Highcharts) Accessibility options for an axis. Requires the
- * accessibility module.
- */
- accessibility?: AxisAccessibilityOptionsObject;
- /**
- * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
- * or more opposite axes will automatically be aligned by adding ticks to
- * the axis or axes with the least ticks, as if `tickAmount` were specified.
- *
- * This can be prevented by setting `alignTicks` to false. If the grid lines
- * look messy, it's a good idea to hide them for the secondary axis by
- * setting `gridLineWidth` to 0.
- *
- * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
- * the `alignTicks ` will be disabled for the Axis.
- *
- * Disabled for logarithmic axes.
- */
- alignTicks?: boolean;
- /**
- * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
- * integers, like persons or hits on a web page, decimals should be avoided
- * in the labels.
- */
- allowDecimals?: boolean;
- /**
- * (Highcharts) When using an alternate grid color, a band is painted across
- * the plot area between every other grid line.
- */
- alternateGridColor?: ColorType;
- /**
- * (Highcharts) In a polar chart, this is the angle of the Y axis in
- * degrees, where 0 is up and 90 is right. The angle determines the position
- * of the axis line and the labels, though the coordinate system is
- * unaffected. Since v8.0.0 this option is also applicable for X axis
- * (inverted polar).
- */
- angle?: number;
- /**
- * (Highcharts, Gantt) If categories are present for the xAxis, names are
- * used instead of numbers for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- *
- * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
- */
- categories?: Array<string>;
- /**
- * (Highcharts, Highstock, Gantt) The highest allowed value for
- * automatically computed axis extremes.
- */
- ceiling?: number;
- /**
- * (Highcharts) A class name that opens for styling the axis by CSS,
- * especially in Highcharts styled mode. The class name is applied to group
- * elements for the grid, axis elements and labels.
- */
- className?: string;
- /**
- * (Gantt) Show an indicator on the axis for the current date and time. Can
- * be a boolean or a configuration object similar to xAxis.plotLines.
- */
- currentDateIndicator?: (boolean|AxisCurrentDateIndicatorOptions);
- /**
- * (Gantt) For a datetime axis, the scale will automatically adjust to the
- * appropriate unit. This member gives the default string representations
- * used for each unit. For intermediate values, different units may be used,
- * for example the `day` unit can be used on midnight and `hour` unit be
- * used for intermediate values on the same axis. For grid axes (like in
- * Gantt charts), it is possible to declare as a list to provide different
- * formats depending on available space. For an overview of the replacement
- * codes, see dateFormat.
- *
- * Defaults to: (see online documentation for example)
- */
- dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
- /**
- * (Highcharts) Whether to force the axis to end on a tick. Use this option
- * with the `maxPadding` option to control the axis end.
- */
- endOnTick?: boolean;
- /**
- * (Highcharts) Event handlers for the axis.
- */
- events?: ZAxisEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
- * computed axis extremes.
- */
- floor?: number;
- /**
- * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
- */
- grid?: ZAxisGridOptions;
- /**
- * (Highcharts) Color of the grid lines extending the ticks across the plot
- * area.
- *
- * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
- */
- gridLineColor?: ColorType;
- /**
- * (Highcharts) The dash or dot style of the grid lines. For possible
- * values, see this demonstration.
- */
- gridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Polar charts only. Whether the grid lines should draw as a
- * polygon with straight lines between categories, or as circles. Can be
- * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
- * for X axis (inverted polar).
- */
- gridLineInterpolation?: OptionsGridLineInterpolationValue;
- /**
- * (Highcharts) The width of the grid lines extending the ticks across the
- * plot area.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- gridLineWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
- */
- gridZIndex?: number;
- /**
- * (Highcharts) An id for the axis. This can be used after render time to
- * get a pointer to the axis object through `chart.get()`.
- */
- id?: string;
- /**
- * (Highcharts) The axis labels show the number or category for each tick.
- *
- * Since v8.0.0: Labels are animated in categorized x-axis with updating
- * data if `tickInterval` and `step` is set to 1.
- */
- labels?: ZAxisLabelsOptions;
- /**
- * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
- * linked to. When an axis is linked to a master axis, it will take the same
- * extremes as the master, but as assigned by min or max or by setExtremes.
- * It can be used to show additional info, or to ease reading the chart by
- * duplicating the scales.
- */
- linkedTo?: number;
- /**
- * (Highcharts) If there are multiple axes on the same side of the chart,
- * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
- * horizontal axes.
- */
- margin?: number;
- /**
- * (Highcharts) The maximum value of the axis. If `null`, the max value is
- * automatically calculated.
- *
- * If the endOnTick option is true, the `max` value might be rounded up.
- *
- * If a tickAmount is set, the axis may be extended beyond the set max in
- * order to reach the given number of ticks. The same may happen in a chart
- * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
- * is applied internally.
- */
- max?: (number|null);
- /**
- * (Highcharts) Padding of the max value relative to the length of the axis.
- * A padding of 0.05 will make a 100px axis 5px longer. This is useful when
- * you don't want the highest data value to appear on the edge of the plot
- * area. When the axis' `max` option is set or a max extreme is set using
- * `axis.setExtremes()`, the maxPadding will be ignored.
- */
- maxPadding?: number;
- /**
- * (Highstock, Gantt) Maximum range which can be set using the navigator's
- * handles. Opposite of xAxis.minRange.
- */
- maxRange?: number;
- /**
- * (Highcharts) The minimum value of the axis. If `null` the min value is
- * automatically calculated.
- *
- * If the startOnTick option is true (default), the `min` value might be
- * rounded down.
- *
- * The automatically calculated minimum value is also affected by floor,
- * softMin, minPadding, minRange as well as series.threshold and
- * series.softThreshold.
- */
- min?: (number|null);
- /**
- * (Highcharts) Color of the minor, secondary grid lines.
- *
- * In styled mode, the stroke width is given in the
- * `.highcharts-minor-grid-line` class.
- */
- minorGridLineColor?: ColorType;
- /**
- * (Highcharts) The dash or dot style of the minor grid lines. For possible
- * values, see this demonstration.
- */
- minorGridLineDashStyle?: DashStyleValue;
- /**
- * (Highcharts) Width of the minor, secondary grid lines.
- *
- * In styled mode, the stroke width is given in the `.highcharts-grid-line`
- * class.
- */
- minorGridLineWidth?: number;
- /**
- * (Highcharts) Color for the minor tick marks.
- */
- minorTickColor?: ColorType;
- /**
- * (Highcharts) Specific tick interval in axis units for the minor ticks. On
- * a linear axis, if `"auto"`, the minor tick interval is calculated as a
- * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
- * shown.
- *
- * On logarithmic axes, the unit is the power of the value. For example,
- * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
- * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
- * and 10, 10 and 100 etc.
- *
- * If user settings dictate minor ticks to become too dense, they don't make
- * sense, and will be ignored to prevent performance problems.
- */
- minorTickInterval?: (number|string|null);
- /**
- * (Highcharts) The pixel length of the minor tick marks.
- */
- minorTickLength?: number;
- /**
- * (Highcharts) The position of the minor tick marks relative to the axis
- * line. Can be one of `inside` and `outside`.
- */
- minorTickPosition?: OptionsMinorTickPositionValue;
- /**
- * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
- * set, the tick interval is calculated as a fifth of the `tickInterval`.
- *
- * On a logarithmic axis, minor ticks are laid out based on a best guess,
- * attempting to enter approximately 5 minor ticks between each major tick.
- *
- * Prior to v6.0.0, ticks were unabled in auto layout by setting
- * `minorTickInterval` to `"auto"`.
- */
- minorTicks?: boolean;
- /**
- * (Highcharts) The pixel width of the minor tick mark.
- */
- minorTickWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
- * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
- * This is useful when you don't want the lowest data value to appear on the
- * edge of the plot area. When the axis' `min` option is set or a min
- * extreme is set using `axis.setExtremes()`, the minPadding will be
- * ignored.
- */
- minPadding?: number;
- /**
- * (Highcharts) The minimum range to display on this axis. The entire axis
- * will not be allowed to span over a smaller interval than this. For
- * example, for a datetime axis the main unit is milliseconds. If minRange
- * is set to 3600000, you can't zoom in more than to one hour.
- *
- * The default minRange for the x axis is five times the smallest interval
- * between any of the data points.
- *
- * On a logarithmic axis, the unit for the minimum range is the power. So a
- * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
- * 1000-10000 etc.
- *
- * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
- * settings also affect how the extremes of the axis are computed.
- */
- minRange?: number;
- /**
- * (Highcharts) The minimum tick interval allowed in axis values. For
- * example on zooming in on an axis with daily data, this can be used to
- * prevent the axis from showing hours. Defaults to the closest distance
- * between two points on the axis.
- */
- minTickInterval?: number;
- /**
- * (Highcharts) The distance in pixels from the plot area to the axis line.
- * A positive offset moves the axis with it's line, labels and ticks away
- * from the plot area. This is typically used when two or more axes are
- * displayed on the same side of the plot. With multiple axes the offset is
- * dynamically adjusted to avoid collision, this can be overridden by
- * setting offset explicitly.
- */
- offset?: number;
- /**
- * (Highcharts) Whether to display the axis on the opposite side of the
- * normal. The normal is on the left side for vertical axes and bottom for
- * horizontal, so the opposite sides will be right and top respectively.
- * This is typically used with dual or multiple axes.
- */
- opposite?: boolean;
- /**
- * (Highstock) In an ordinal axis, the points are equally spaced in the
- * chart regardless of the actual time or x distance between them. This
- * means that missing data periods (e.g. nights or weekends for a stock
- * chart) will not take up space in the chart. Having `ordinal: false` will
- * show any gaps created by the `gapSize` setting proportionate to their
- * duration.
- *
- * In stock charts the X axis is ordinal by default, unless the boost module
- * is used and at least one of the series' data length exceeds the
- * boostThreshold.
- */
- ordinal?: boolean;
- /**
- * (Highstock) Additional range on the right side of the xAxis. Works
- * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
- * set for both main `xAxis` and the navigator's `xAxis`.
- */
- overscroll?: number;
- /**
- * (Highcharts) Refers to the index in the panes array. Used for circular
- * gauges and polar charts. When the option is not set then first pane will
- * be used.
- */
- pane?: number;
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching
- * across the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- plotBands?: Array<ZAxisPlotBandsOptions>;
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the
- * plot area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- plotLines?: Array<ZAxisPlotLinesOptions>;
- /**
- * (Highstock) The zoomed range to display when only defining one or none of
- * `min` or `max`. For example, to show the latest month, a range of one
- * month can be set.
- */
- range?: number;
- /**
- * (Highcharts) Whether to reverse the axis so that the highest number is
- * closest to the origin. If the chart is inverted, the x axis is reversed
- * by default.
- */
- reversed?: boolean;
- /**
- * (Highcharts, Highstock) This option determines how stacks should be
- * ordered within a group. For example reversed xAxis also reverses stacks,
- * so first series comes last in a group. To keep order like for
- * non-reversed xAxis enable this option.
- */
- reversedStacks?: boolean;
- /**
- * (Highstock) An optional scrollbar to display on the X axis in response to
- * limiting the minimum and maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are
- * replaced by the classes `.highcharts-scrollbar-thumb`,
- * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
- * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
- */
- scrollbar?: ZAxisScrollbarOptions;
- /**
- * (Highcharts) Whether to show the first tick label.
- */
- showFirstLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
- * Defaults to `true` on cartesian charts, and `false` on polar charts.
- */
- showLastLabel?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
- * data maximum is less than this, the axis will stay at this maximum, but
- * if the series data maximum is higher, the axis will flex to show all
- * data.
- */
- softMax?: number;
- /**
- * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
- * data minimum is greater than this, the axis will stay at this minimum,
- * but if the series data minimum is lower, the axis will flex to show all
- * data.
- */
- softMin?: number;
- /**
- * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
- * put the tick between weeks. 0 = Sunday, 1 = Monday.
- */
- startOfWeek?: number;
- /**
- * (Highcharts) Whether to force the axis to start on a tick. Use this
- * option with the `minPadding` option to control the axis start.
- */
- startOnTick?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
- * This opens up for aligning the ticks of multiple charts or panes within a
- * chart. This option overrides the `tickPixelInterval` option.
- *
- * This option only has an effect on linear axes. Datetime, logarithmic or
- * category axes are not affected.
- */
- tickAmount?: number;
- /**
- * (Highcharts) Color for the main tick marks.
- *
- * In styled mode, the stroke is given in the `.highcharts-tick` class.
- */
- tickColor?: ColorType;
- /**
- * (Highcharts) The interval of the tick marks in axis units. When
- * `undefined`, the tick interval is computed to approximately follow the
- * tickPixelInterval on linear and datetime axes. On categorized axes, a
- * `undefined` tickInterval will default to 1, one category. Note that
- * datetime axes are based on milliseconds, so for example an interval of
- * one day is expressed as `24 * 3600 * 1000`.
- *
- * On logarithmic axes, the tickInterval is based on powers, so a
- * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
- * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
- * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
- * etc.
- *
- * If the tickInterval is too dense for labels to be drawn, Highcharts may
- * remove ticks.
- *
- * If the chart has multiple axes, the alignTicks option may interfere with
- * the `tickInterval` setting.
- */
- tickInterval?: number;
- /**
- * (Highcharts) The pixel length of the main tick marks.
- */
- tickLength?: number;
- /**
- * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
- * placed in the center of the category, if `between` the tick mark is
- * placed between categories. The default is `between` if the `tickInterval`
- * is 1, else `on`.
- */
- tickmarkPlacement?: OptionsTickmarkPlacementValue;
- /**
- * (Highcharts) If tickInterval is `null` this option sets the approximate
- * pixel interval of the tick marks. Not applicable to categorized axis.
- *
- * The tick interval is also influenced by the minTickInterval option, that,
- * by default prevents ticks from being denser than the data points.
- */
- tickPixelInterval?: number;
- /**
- * (Highcharts) The position of the major tick marks relative to the axis
- * line. Can be one of `inside` and `outside`.
- */
- tickPosition?: OptionsTickPositionValue;
- /**
- * (Highcharts) A callback function returning array defining where the ticks
- * are laid out on the axis. This overrides the default behaviour of
- * tickPixelInterval and tickInterval. The automatic tick positions are
- * accessible through `this.tickPositions` and can be modified by the
- * callback.
- */
- tickPositioner?: AxisTickPositionerCallbackFunction;
- /**
- * (Highcharts) An array defining where the ticks are laid out on the axis.
- * This overrides the default behaviour of tickPixelInterval and
- * tickInterval.
- */
- tickPositions?: Array<number>;
- /**
- * (Highcharts) The pixel width of the major tick marks. Defaults to 0 on
- * category axes, otherwise 1.
- *
- * In styled mode, the stroke width is given in the `.highcharts-tick`
- * class, but in order for the element to be generated on category axes, the
- * option must be explicitly set to 1.
- */
- tickWidth?: (number|undefined);
- /**
- * (Highcharts) The axis title, showing next to the axis line.
- */
- title?: ZAxisTitleOptions;
- /**
- * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
- * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
- * are given in milliseconds, and tick marks are placed on appropriate
- * values like full hours or days. In a category axis, the point names of
- * the chart's series are used for categories, if not a categories array is
- * defined.
- */
- type?: AxisTypeValue;
- /**
- * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
- * `uniqueNames` is true, points are placed on the X axis according to their
- * names. If the same point name is repeated in the same or another series,
- * the point is placed on the same X position as other points of the same
- * name. When `uniqueNames` is false, the points are laid out in increasing
- * X positions regardless of their names, and the X axis category will take
- * the name of the last point in each position.
- */
- uniqueNames?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
- * what time intervals the ticks are allowed to fall on. Each array item is
- * an array where the first value is the time unit and the second value
- * another array of allowed multiples.
- *
- * Defaults to: (see online documentation for example)
- */
- units?: Array<[string, (Array<number>|null)]>;
- /**
- * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
- * ticks and labels, should be visible.
- */
- visible?: boolean;
- /**
- * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
- * allows to disable zooming on an individual axis.
- */
- zoomEnabled?: boolean;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface ZAxisPlotBandsEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface ZAxisPlotBandsLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-band-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
- * is supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot band. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
- * the plot area marking an interval on the axis.
- *
- * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
- * class in addition to the `className` option.
- */
- export interface ZAxisPlotBandsOptions {
- /**
- * (Highstock) Flag to decide if plotBand should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
- * requires `borderWidth` to be set.
- */
- borderColor?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
- * requires `borderColor` to be set.
- */
- borderWidth?: number;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-band`, to apply to each individual band.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the plot band.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: ZAxisPlotBandsEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) The start position of the plot band in
- * axis units.
- */
- from?: number;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
- * in Axis.removePlotBand.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: ZAxisPlotBandsLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
- * units.
- */
- to?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot band within the
- * chart, relative to other elements. Using the same z index as another
- * element may give unpredictable results, as the last rendered element will
- * be on top. Values from 0 to 20 make sense.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
- * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
- */
- export interface ZAxisPlotLinesEventsOptions {
- /**
- * (Highcharts, Highstock, Gantt) Click event on a plot band.
- */
- click?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
- */
- mousemove?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
- * band.
- */
- mouseout?: EventCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
- */
- mouseover?: EventCallbackFunction<PlotLineOrBand>;
- }
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- export interface ZAxisPlotLinesLabelOptions {
- /**
- * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
- * one of "left", "center" or "right".
- */
- align?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
- * label. Useful properties like the value of plot line or the range of plot
- * band (`from` & `to` properties) can be found in `this.options` object.
- */
- formatter?: FormatterCallbackFunction<PlotLineOrBand>;
- /**
- * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
- * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
- */
- rotation?: number;
- /**
- * (Highcharts, Highstock, Gantt) CSS styles for the text label.
- *
- * In styled mode, the labels are styled by the
- * `.highcharts-plot-line-label` class.
- */
- style?: CSSObject;
- /**
- * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
- * supported.
- */
- text?: string;
- /**
- * (Highcharts, Highstock, Gantt) The text alignment for the label. While
- * `align` determines where the texts anchor point is placed within the plot
- * band, `textAlign` determines how the text is aligned against its anchor
- * point. Possible values are "left", "center" and "right". Defaults to the
- * same as the `align` option.
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
- * to the plot line. Can be one of "top", "middle" or "bottom".
- */
- verticalAlign?: VerticalAlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal position relative the
- * alignment. Default varies by orientation.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
- * relative to the alignment. Default varies by orientation.
- */
- y?: number;
- }
- /**
- * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
- * area, marking a specific value on one of the axes.
- *
- * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
- * class in addition to the `className` option.
- */
- export interface ZAxisPlotLinesOptions {
- /**
- * (Highstock) Flag to decide if plotLine should be rendered across all
- * panes.
- */
- acrossPanes?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
- * default `highcharts-plot-line`, to apply to each individual line.
- */
- className?: string;
- /**
- * (Highcharts, Highstock, Gantt) The color of the line.
- */
- color?: ColorString;
- /**
- * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
- * line. For possible values see this overview.
- */
- dashStyle?: DashStyleValue;
- /**
- * (Highcharts, Highstock, Gantt) An object defining mouse events for the
- * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
- * `mousemove`.
- */
- events?: ZAxisPlotLinesEventsOptions;
- /**
- * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
- * in Axis.removePlotLine.
- */
- id?: string;
- /**
- * (Highcharts, Highstock, Gantt) Text labels for the plot bands
- */
- label?: ZAxisPlotLinesLabelOptions;
- /**
- * (Highcharts, Highstock, Gantt) The position of the line in axis units.
- */
- value?: number;
- /**
- * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
- */
- width?: number;
- /**
- * (Highcharts, Highstock, Gantt) The z index of the plot line within the
- * chart.
- */
- zIndex?: number;
- }
- /**
- * (Highstock) An optional scrollbar to display on the X axis in response to
- * limiting the minimum and maximum of the axis values.
- *
- * In styled mode, all the presentational options for the scrollbar are replaced
- * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
- * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
- * `.highcharts-scrollbar-track`.
- */
- export interface ZAxisScrollbarOptions {
- /**
- * (Highstock) The background color of the scrollbar itself.
- */
- barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the scrollbar's border.
- */
- barBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The border rounding radius of the bar.
- */
- barBorderRadius?: number;
- /**
- * (Highstock) The width of the bar's border.
- */
- barBorderWidth?: number;
- /**
- * (Highstock) The color of the small arrow inside the scrollbar buttons.
- */
- buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of scrollbar buttons.
- */
- buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar buttons.
- */
- buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the scrollbar buttons.
- */
- buttonBorderRadius?: number;
- /**
- * (Highstock) The border width of the scrollbar buttons.
- */
- buttonBorderWidth?: number;
- /**
- * (Highstock) Enable or disable the scrollbar.
- */
- enabled?: boolean;
- /**
- * (Highstock) The height of the scrollbar. The height also applies to the
- * width of the scroll arrows so that they are always squares. Defaults to
- * 20 for touch devices and 14 for mouse devices.
- */
- height?: number;
- /**
- * (Highstock) Whether to redraw the main chart as the scrollbar or the
- * navigator zoomed window is moved. Defaults to `true` for modern browsers
- * and `false` for legacy IE browsers as well as mobile devices.
- */
- liveRedraw?: boolean;
- /**
- * (Highstock) The margin between the scrollbar and its axis when the
- * scrollbar is applied directly to an axis.
- */
- margin?: number;
- /**
- * (Highstock) The minimum width of the scrollbar.
- */
- minWidth?: number;
- /**
- * (Highstock) The color of the small rifles in the middle of the scrollbar.
- */
- rifleColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) Whether to show or hide the scrollbar when the scrolled
- * content is zoomed out to it full extent.
- */
- showFull?: boolean;
- step?: number;
- /**
- * (Highstock) The color of the track background.
- */
- trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The color of the border of the scrollbar track.
- */
- trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
- /**
- * (Highstock) The corner radius of the border of the scrollbar track.
- */
- trackBorderRadius?: number;
- /**
- * (Highstock) The width of the border of the scrollbar track.
- */
- trackBorderWidth?: number;
- /**
- * (Highstock) The z index of the scrollbar group.
- */
- zIndex?: number;
- }
- /**
- * (Highcharts) The axis title, showing next to the axis line.
- */
- export interface ZAxisTitleOptions {
- /**
- * (Highcharts) Alignment of the title relative to the axis values. Possible
- * values are "low", "middle" or "high".
- */
- align?: AxisTitleAlignValue;
- /**
- * (Highcharts) The pixel distance between the axis labels or line and the
- * title. Defaults to 0 for horizontal axes, 10 for vertical
- */
- margin?: number;
- /**
- * (Highcharts) The distance of the axis title from the axis line. By
- * default, this distance is computed from the offset width of the labels,
- * the labels' distance from the axis and the title's margin. However when
- * the offset option is set, it overrides all this.
- */
- offset?: number;
- /**
- * (Highcharts) Defines how the title is repositioned according to the 3D
- * chart orientation.
- *
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
- * marks, despite the chart orientation. This is the backwards compatible
- * behavior, and causes skewing of X and Z axes.
- *
- * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
- * but hard to read if the text isn't forward-facing.
- *
- * - `'flap'`: Rotated text along the axis to compensate for the chart
- * orientation. This tries to maintain text as legible as possible on all
- * orientations.
- *
- * - `'ortho'`: Rotated text along the axis direction so that the labels are
- * orthogonal to the axis. This is very similar to `'flap'`, but prevents
- * skewing the labels (X and Y scaling are still present).
- *
- * - `undefined`: Will use the config from `labels.position3d`
- */
- position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
- /**
- * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
- * when laying out the axis.
- */
- reserveSpace?: boolean;
- /**
- * (Highcharts) The rotation of the text in degrees. 0 is horizontal, 270 is
- * vertical reading from bottom to top.
- */
- rotation?: number;
- /**
- * (Highcharts) If enabled, the axis title will skewed to follow the
- * perspective.
- *
- * This will fix overlapping labels and titles, but texts become less
- * legible due to the distortion.
- *
- * The final appearance depends heavily on `title.position3d`.
- *
- * A `null` value will use the config from `labels.skew3d`.
- */
- skew3d?: (boolean|null);
- /**
- * (Highcharts) CSS styles for the title. If the title text is longer than
- * the axis length, it will wrap to multiple lines by default. This can be
- * customized by setting `textOverflow: 'ellipsis'`, by setting a specific
- * `width` or by setting `whiteSpace: 'nowrap'`.
- *
- * In styled mode, the stroke width is given in the `.highcharts-axis-title`
- * class.
- */
- style?: CSSObject;
- /**
- * (Highcharts) The actual text of the axis title. It can contain basic HTML
- * tags like `b`, `i` and `span` with style.
- */
- text?: (string|null);
- /**
- * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
- * `"center"`. Default alignment depends on the title.align:
- *
- * Horizontal axes:
- *
- * - for `align` = `"low"`, `textAlign` is set to `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"`, `textAlign` is set to `right`
- *
- * Vertical axes:
- *
- * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
- * `right`
- *
- * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
- * `left`
- *
- * - for `align` = `"middle"`, `textAlign` is set to `center`
- *
- * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
- * `left`
- *
- * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
- * `right`
- */
- textAlign?: AlignValue;
- /**
- * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
- * title.
- */
- useHTML?: boolean;
- /**
- * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
- * position.
- */
- x?: number;
- /**
- * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
- * position.
- */
- y?: number;
- }
- /**
- * An annotation class which serves as a container for items like labels or
- * shapes. Created items are positioned on the chart either by linking them to
- * existing points or created mock points
- */
- export class Annotation {
- /**
- * An annotation class which serves as a container for items like labels or
- * shapes. Created items are positioned on the chart either by linking them
- * to existing points or created mock points
- *
- * @param chart
- * a chart instance
- *
- * @param userOptions
- * the options object
- */
- constructor(chart: Chart, userOptions: AnnotationsOptions);
- /**
- * The group svg element.
- */
- group: SVGElement;
- /**
- * The group svg element of the annotation's labels.
- */
- labelsGroup: SVGElement;
- /**
- * The options for the annotations.
- */
- options: AnnotationsOptions;
- /**
- * The group svg element of the annotation's shapes.
- */
- shapesGroup: SVGElement;
- /**
- * The user options for the annotations.
- */
- userOptions: AnnotationsOptions;
- /**
- * Updates an annotation.
- *
- * @param userOptions
- * New user options for the annotation.
- */
- update(userOptions: Partial<AnnotationsOptions>): void;
- }
- /**
- * A control point class which is a connection between controllable transform
- * methods and a user actions.
- */
- export class AnnotationControlPoint {
- /**
- * A control point class which is a connection between controllable
- * transform methods and a user actions.
- *
- * @param chart
- * A chart instance.
- *
- * @param target
- * A controllable instance which is a target for a control point.
- *
- * @param options
- * An options object.
- *
- * @param index
- * Point index.
- */
- constructor(chart: Chart, target: AnnotationControllable, options: AnnotationControlPointOptionsObject, index?: number);
- /**
- * Set the visibility of the control point.
- *
- * @param visible
- * Visibility of the control point.
- */
- setVisibility(visible: boolean): void;
- /**
- * Update the control point.
- *
- * @param userOptions
- * New options for the control point.
- */
- update(userOptions: Partial<AnnotationControlPointOptionsObject>): void;
- }
- /**
- * Create a new axis object. Called internally when instanciating a new chart or
- * adding axes by Highcharts.Chart#addAxis.
- *
- * A chart can have from 0 axes (pie chart) to multiples. In a normal, single
- * series cartesian chart, there is one X axis and one Y axis.
- *
- * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
- * array of Axis objects. If there is only one axis, it can be referenced
- * through `chart.xAxis[0]`, and multiple axes have increasing indices. The same
- * pattern goes for Y axes.
- *
- * If you need to get the axes from a series object, use the `series.xAxis` and
- * `series.yAxis` properties. These are not arrays, as one series can only be
- * associated to one X and one Y axis.
- *
- * A third way to reference the axis programmatically is by `id`. Add an `id` in
- * the axis configuration options, and get the axis by Highcharts.Chart#get.
- *
- * Configuration options for the axes are given in options.xAxis and
- * options.yAxis.
- */
- export class Axis {
- /**
- * Create a new axis object. Called internally when instanciating a new
- * chart or adding axes by Highcharts.Chart#addAxis.
- *
- * A chart can have from 0 axes (pie chart) to multiples. In a normal,
- * single series cartesian chart, there is one X axis and one Y axis.
- *
- * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
- * array of Axis objects. If there is only one axis, it can be referenced
- * through `chart.xAxis[0]`, and multiple axes have increasing indices. The
- * same pattern goes for Y axes.
- *
- * If you need to get the axes from a series object, use the `series.xAxis`
- * and `series.yAxis` properties. These are not arrays, as one series can
- * only be associated to one X and one Y axis.
- *
- * A third way to reference the axis programmatically is by `id`. Add an
- * `id` in the axis configuration options, and get the axis by
- * Highcharts.Chart#get.
- *
- * Configuration options for the axes are given in options.xAxis and
- * options.yAxis.
- *
- * @param chart
- * The Chart instance to apply the axis on.
- *
- * @param userOptions
- * Axis options.
- */
- constructor(chart: Chart, userOptions: AxisOptions);
- /**
- * If categories are present for the axis, names are used instead of numbers
- * for that axis.
- *
- * Since Highcharts 3.0, categories can also be extracted by giving each
- * point a name and setting axis type to `category`. However, if you have
- * multiple series, best practice remains defining the `categories` array.
- */
- readonly categories: Array<string>;
- /**
- * The Chart that the axis belongs to.
- */
- chart: Chart;
- /**
- * The collection where the axis belongs, for example `xAxis`, `yAxis` or
- * `colorAxis`. Corresponds to properties on Chart, for example Chart.xAxis.
- */
- coll: string;
- /**
- * The processed crosshair options.
- */
- crosshair: (boolean|AxisCrosshairOptions);
- /**
- * Whether the axis is horizontal.
- */
- horiz?: boolean;
- /**
- * Whether the axis is the x-axis.
- */
- isXAxis?: boolean;
- /**
- * The maximum value of the axis. In a logarithmic axis, this is the
- * logarithm of the real value, and the real value can be obtained from
- * Axis#getExtremes.
- */
- max: (number|null);
- /**
- * The minimum value of the axis. In a logarithmic axis, this is the
- * logarithm of the real value, and the real value can be obtained from
- * Axis#getExtremes.
- */
- min: (number|null);
- /**
- * List of minor ticks mapped by position on the axis.
- */
- minorTicks: Dictionary<Tick>;
- /**
- * Current options for the axis after merge of defaults and user's options.
- */
- options: AxisOptions;
- /**
- * Whether the axis is reversed. Based on the `axis.reversed`, option, but
- * inverted charts have reversed xAxis by default.
- */
- reversed: boolean;
- /**
- * All series associated to the axis.
- */
- series: Array<Series>;
- /**
- * The side on which the axis is rendered. 0 is top, 1 is right, 2 is bottom
- * and 3 is left.
- */
- side: number;
- /**
- * Contains the current positions that are laid out on the axis. The
- * positions are numbers in terms of axis values. In a category axis they
- * are integers, in a datetime axis they are also integers, but designating
- * milliseconds.
- *
- * This property is read only - for modifying the tick positions, use the
- * `tickPositioner` callback or [axis.tickPositions(
- * https://api.highcharts.com/highcharts/xAxis.tickPositions) option
- * instead.
- */
- tickPositions?: AxisTickPositionsArray;
- /**
- * List of major ticks mapped by postition on axis.
- */
- ticks: Dictionary<Tick>;
- /**
- * User's options for this axis without defaults.
- */
- userOptions: AxisOptions;
- /**
- * Add a plot band after render time.
- *
- * @param options
- * A configuration object for the plot band, as defined in
- * xAxis.plotBands.
- *
- * @return The added plot band.
- */
- addPlotBand(options: AxisPlotBandsOptions): (PlotLineOrBand|undefined);
- /**
- * Add a plot line after render time.
- *
- * @param options
- * A configuration object for the plot line, as defined in
- * xAxis.plotLines.
- *
- * @return The added plot line.
- */
- addPlotLine(options: AxisPlotLinesOptions): (PlotLineOrBand|undefined);
- /**
- * Adds the title defined in axis.options.title.
- *
- * @param display
- * Whether or not to display the title.
- */
- addTitle(display?: boolean): void;
- /**
- * The default label formatter. The context is a special config object for
- * the label. In apps, use the labels.formatter instead, except when a
- * modification is needed.
- *
- * @param this
- * Formatter context of axis label.
- *
- * @return The formatted label content.
- */
- defaultLabelFormatter(this: (AxisLabelsFormatterContextObject<number>|AxisLabelsFormatterContextObject<string>)): string;
- /**
- * Internal function to draw a crosshair.
- *
- * @param e
- * The event arguments from the modified pointer event, extended with
- * `chartX` and `chartY`
- *
- * @param point
- * The Point object if the crosshair snaps to points.
- *
- * @fires Highcharts.Axis#afterDrawCrosshair
- * @fires Highcharts.Axis#drawCrosshair
- */
- drawCrosshair(e?: PointerEventObject, point?: Point): void;
- /**
- * Get the current extremes for the axis.
- *
- * @return An object containing extremes information.
- */
- getExtremes(): ExtremesObject;
- /**
- * Internal function to et the tick positions of a linear axis to round
- * values like whole tens or every five.
- *
- * @param tickInterval
- * The normalized tick interval.
- *
- * @param min
- * Axis minimum.
- *
- * @param max
- * Axis maximum.
- *
- * @return An array of axis values where ticks should be placed.
- */
- getLinearTickPositions(tickInterval: number, min: number, max: number): Array<number>;
- /**
- * Internal function to get the path for the axis line. Extended for polar
- * charts.
- *
- * @param lineWidth
- * The line width in pixels.
- *
- * @return The SVG path definition in array form.
- */
- getLinePath(lineWidth: number): SVGPathArray;
- /**
- * Resolve the new minorTicks/minorTickInterval options into the legacy
- * loosely typed minorTickInterval option.
- */
- getMinorTickInterval(): ("auto"|number|null);
- /**
- * Internal function to return the minor tick positions. For logarithmic
- * axes, the same logic as for major ticks is reused.
- *
- * @return An array of axis values where ticks should be placed.
- */
- getMinorTickPositions(): Array<number>;
- /**
- * Internal function to create the SVG path definition for a plot band.
- *
- * @param from
- * The axis value to start from.
- *
- * @param to
- * The axis value to end on.
- *
- * @return The SVG path definition in array form.
- */
- getPlotBandPath(from: number, to: number): SVGPathArray;
- /**
- * Create the path for a plot line that goes from the given value on this
- * axis, across the plot to the opposite side. Also used internally for grid
- * lines and crosshairs.
- *
- * @param options
- * Options for the path.
- *
- * @return The SVG path definition for the plot line.
- */
- getPlotLinePath(options: AxisPlotLinePathOptionsObject): (SVGPathArray|null);
- /**
- * Get the zero plane either based on zero or on the min or max value. Used
- * in bar and area plots.
- *
- * @param threshold
- * The threshold in axis values.
- *
- * @return The translated threshold position in terms of pixels, and
- * corrected to stay within the axis bounds.
- */
- getThreshold(threshold: number): (number|undefined);
- /**
- * Return true if the axis has associated data.
- *
- * @return True if the axis has associated visible series and those series
- * have either valid data points or explicit `min` and `max`
- * settings.
- */
- hasData(): boolean;
- /**
- * Hide the crosshair if visible.
- */
- hideCrosshair(): void;
- /**
- * Overrideable function to initialize the axis.
- *
- * @param chart
- * The Chart instance to apply the axis on.
- *
- * @param userOptions
- * Axis options.
- *
- * @fires Highcharts.Axis#afterInit
- * @fires Highcharts.Axis#init
- */
- init(chart: Chart, userOptions: AxisOptions): void;
- /**
- * Remove the axis from the chart.
- *
- * @param redraw
- * Whether to redraw the chart following the remove.
- */
- remove(redraw?: boolean): void;
- /**
- * Remove a plot band by its id.
- *
- * @param id
- * The plot band's `id` as given in the original configuration object
- * or in the `addPlotBand` option.
- */
- removePlotBand(id: string): void;
- /**
- * Remove a plot line by its id.
- *
- * @param id
- * The plot line's `id` as given in the original configuration object
- * or in the `addPlotLine` option.
- */
- removePlotLine(id: string): void;
- /**
- * Render the axis line. Called internally when rendering and redrawing the
- * axis.
- */
- renderLine(): void;
- /**
- * Render a minor tick into the given position. If a minor tick already
- * exists in this position, move it.
- *
- * @param pos
- * The position in axis values.
- */
- renderMinorTick(pos: number): void;
- /**
- * Render a major tick into the given position. If a tick already exists in
- * this position, move it.
- *
- * @param pos
- * The position in axis values.
- *
- * @param i
- * The tick index.
- */
- renderTick(pos: number, i: number): void;
- /**
- * Set new axis categories and optionally redraw.
- *
- * @param categories
- * The new categories.
- *
- * @param redraw
- * Whether to redraw the chart.
- */
- setCategories(categories: Array<string>, redraw?: boolean): void;
- /**
- * Set the minimum and maximum of the axes after render time. If the
- * `startOnTick` and `endOnTick` options are true, the minimum and maximum
- * values are rounded off to the nearest tick. To prevent this, these
- * options can be set to false before calling setExtremes. Also, setExtremes
- * will not allow a range lower than the `minRange` option, which by default
- * is the range of five points.
- *
- * @param newMin
- * The new minimum value.
- *
- * @param newMax
- * The new maximum value.
- *
- * @param redraw
- * Whether to redraw the chart or wait for an explicit call to
- * Highcharts.Chart#redraw
- *
- * @param animation
- * Enable or modify animations.
- *
- * @param eventArguments
- * Arguments to be accessed in event handler.
- *
- * @fires Highcharts.Axis#setExtremes
- */
- setExtremes(newMin?: number, newMax?: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), eventArguments?: any): void;
- /**
- * Update the axis title by options after render time.
- *
- * @param titleOptions
- * The additional title options.
- *
- * @param redraw
- * Whether to redraw the chart after setting the title.
- */
- setTitle(titleOptions: AxisTitleOptions, redraw?: boolean): void;
- /**
- * Translate a value in terms of axis units into pixels within the chart.
- *
- * @param value
- * A value in terms of axis units.
- *
- * @param paneCoordinates
- * Whether to return the pixel coordinate relative to the chart or
- * just the axis/pane itself.
- *
- * @return Pixel position of the value on the chart or axis.
- */
- toPixels(value: number, paneCoordinates: boolean): number;
- /**
- * Translate a pixel position along the axis to a value in terms of axis
- * units.
- *
- * @param pixel
- * The pixel value coordinate.
- *
- * @param paneCoordinates
- * Whether the input pixel is relative to the chart or just the
- * axis/pane itself.
- *
- * @return The axis value.
- */
- toValue(pixel: number, paneCoordinates?: boolean): number;
- /**
- * Update an axis object with a new set of options. The options are merged
- * with the existing options, so only new or altered options need to be
- * specified.
- *
- * @param options
- * The new options that will be merged in with existing options on
- * the axis.
- *
- * @param redraw
- * Whether to redraw the chart after the axis is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call Chart#redraw after.
- */
- update(options: AxisOptions, redraw?: boolean): void;
- }
- /**
- * The Chart class. The recommended constructor is Highcharts#chart.
- */
- export class Chart {
- /**
- * The Chart class. The recommended constructor is Highcharts#chart.
- *
- * @param options
- * The chart options structure.
- *
- * @param callback
- * Function to run when the chart has loaded and and all external
- * images are loaded. Defining a chart.events.load handler is
- * equivalent.
- */
- constructor(options: Options, callback?: ChartCallbackFunction);
- /**
- * The Chart class. The recommended constructor is Highcharts#chart.
- *
- * @param renderTo
- * The DOM element to render to, or its id.
- *
- * @param options
- * The chart options structure.
- *
- * @param callback
- * Function to run when the chart has loaded and and all external
- * images are loaded. Defining a chart.events.load handler is
- * equivalent.
- */
- constructor(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction);
- /**
- * All the axes in the chart.
- */
- axes: Array<Axis>;
- /**
- * The current pixel height of the chart.
- */
- chartHeight: number;
- /**
- * The current pixel width of the chart.
- */
- chartWidth: number;
- /**
- * These collections (arrays) implement update() methods with support for
- * one-to-one option.
- */
- collectionsWithUpdate: any;
- /**
- * The containing HTML element of the chart. The container is dynamically
- * inserted into the element given as the `renderTo` parameter in the
- * Highcharts#chart constructor.
- */
- container: HTMLDOMElement;
- /**
- * The chart's credits label. The label has an `update` method that allows
- * setting new options as per the credits options set.
- */
- credits: SVGElement;
- /**
- * Contains the original hovered point.
- */
- hoverPoint: (Point|null);
- /**
- * Contains all hovered points.
- */
- hoverPoints: (Array<Point>|null);
- /**
- * Contains the original hovered series.
- */
- hoverSeries: (Series|null);
- /**
- * Index position of the chart in the Highcharts#charts property.
- */
- readonly index: number;
- /**
- * The flag is set to `true` if a series of the chart is inverted.
- */
- inverted?: boolean;
- /**
- * The overview of the chart's series.
- */
- legend: Legend;
- /**
- * Callback function to override the default function that formats all the
- * numbers in the chart. Returns a string with the formatted number.
- */
- numberFormatter: NumberFormatterCallbackFunction;
- /**
- * The options structure for the chart after merging #defaultOptions and
- * #userOptions. It contains members for the sub elements like series,
- * legend, tooltip etc.
- */
- options: Options;
- /**
- * The current height of the plot area in pixels.
- */
- plotHeight: number;
- /**
- * The current left position of the plot area in pixels.
- */
- plotLeft: number;
- /**
- * The current top position of the plot area in pixels.
- */
- plotTop: number;
- /**
- * The current width of the plot area in pixels.
- */
- plotWidth: number;
- /**
- * The Pointer that keeps track of mouse and touch interaction.
- */
- pointer: Pointer;
- /**
- * These properties cause isDirtyBox to be set to true when updating. Can be
- * extended from plugins.
- */
- propsRequireDirtyBox: any;
- /**
- * These properties require a full reflow of chart elements, best
- * implemented through running `Chart.setSize` internally (#8190).
- */
- propsRequireReflow: any[];
- /**
- * These properties cause all series to be updated when updating. Can be
- * extended from plugins.
- */
- propsRequireUpdateSeries: any;
- /**
- * The renderer instance of the chart. Each chart instance has only one
- * associated renderer.
- */
- renderer: SVGRenderer;
- /**
- * All the current series in the chart.
- */
- series: Array<Series>;
- /**
- * Whether the chart is in styled mode, meaning all presentatinoal
- * attributes are avoided.
- */
- styledMode: boolean;
- /**
- * The chart subtitle. The subtitle has an `update` method that allows
- * modifying the options directly or indirectly via `chart.update`.
- */
- subtitle: SubtitleObject;
- /**
- * The `Time` object associated with the chart. Since v6.0.5, time settings
- * can be applied individually for each chart. If no individual settings
- * apply, the `Time` object is shared by all instances.
- */
- time: Time;
- /**
- * The chart title. The title has an `update` method that allows modifying
- * the options directly or indirectly via `chart.update`.
- */
- title: TitleObject;
- /**
- * Tooltip object for points of series.
- */
- tooltip: Tooltip;
- /**
- * The original options given to the constructor or a chart factory like
- * Highcharts.chart and Highcharts.stockChart.
- */
- userOptions: Options;
- /**
- * A collection of the X axes in the chart.
- */
- xAxis: Array<Axis>;
- /**
- * A collection of the Y axes in the chart.
- */
- yAxis: Array<Axis>;
- /**
- * Add an axis to the chart after render time. Note that this method should
- * never be used when adding data synchronously at chart render time, as it
- * adds expense to the calculations and rendering. When adding data at the
- * same time as the chart is initialized, add the axis as a configuration
- * option instead.
- *
- * @param options
- * The axis options.
- *
- * @param isX
- * Whether it is an X axis or a value axis.
- *
- * @param redraw
- * Whether to redraw the chart after adding.
- *
- * @param animation
- * Whether and how to apply animation in the redraw.
- *
- * @return The newly generated Axis object.
- */
- addAxis(options: AxisOptions, isX?: boolean, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Axis;
- /**
- * Add a color axis to the chart after render time. Note that this method
- * should never be used when adding data synchronously at chart render time,
- * as it adds expense to the calculations and rendering. When adding data at
- * the same time as the chart is initialized, add the axis as a
- * configuration option instead.
- *
- * @param options
- * The axis options.
- *
- * @param redraw
- * Whether to redraw the chart after adding.
- *
- * @param animation
- * Whether and how to apply animation in the redraw.
- *
- * @return The newly generated Axis object.
- */
- addColorAxis(options: ColorAxisOptions, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): ColorAxis;
- /**
- * Set a new credits label for the chart.
- *
- * @param credits
- * A configuration object for the new credits.
- */
- addCredits(credits?: CreditsOptions): void;
- /**
- * Add a series to the chart after render time. Note that this method should
- * never be used when adding data synchronously at chart render time, as it
- * adds expense to the calculations and rendering. When adding data at the
- * same time as the chart is initialized, add the series as a configuration
- * option instead. With multiple axes, the `offset` is dynamically adjusted.
- *
- * @param options
- * The config options for the series.
- *
- * @param redraw
- * Whether to redraw the chart after adding.
- *
- * @param animation
- * Whether to apply animation, and optionally animation
- * configuration.
- *
- * @return The newly created series object.
- *
- * @fires Highcharts.Chart#addSeries
- * @fires Highcharts.Chart#afterAddSeries
- */
- addSeries(options: SeriesOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Series;
- /**
- * Remove the chart and purge memory. This method is called internally
- * before adding a second chart into the same container, as well as on
- * window unload to prevent leaks.
- *
- * @fires Highcharts.Chart#destroy
- */
- destroy(): void;
- /**
- * Get an axis, series or point object by `id` as given in the configuration
- * options. Returns `undefined` if no item is found.
- *
- * @param id
- * The id as given in the configuration options.
- *
- * @return The retrieved item.
- */
- get(id: string): (Axis|Point|Series|undefined);
- /**
- * Returns an array of all currently selected points in the chart. Points
- * can be selected by clicking or programmatically by the
- * Highcharts.Point#select function.
- *
- * @return The currently selected points.
- */
- getSelectedPoints(): Array<Point>;
- /**
- * Returns an array of all currently selected series in the chart. Series
- * can be selected either programmatically by the Highcharts.Series#select
- * function or by checking the checkbox next to the legend item if
- * series.showCheckBox is true.
- *
- * @return The currently selected series.
- */
- getSelectedSeries(): Array<Series>;
- /**
- * Hide the loading layer.
- */
- hideLoading(): void;
- /**
- * Overridable function that initializes the chart. The constructor's
- * arguments are passed on directly.
- *
- * @param userOptions
- * Custom options.
- *
- * @param callback
- * Function to run when the chart has loaded and and all external
- * images are loaded.
- *
- * @fires Highcharts.Chart#init
- * @fires Highcharts.Chart#afterInit
- */
- init(userOptions: Options, callback?: Function): void;
- /**
- * Check whether a given point is within the plot area.
- *
- * @param plotX
- * Pixel x relative to the plot area.
- *
- * @param plotY
- * Pixel y relative to the plot area.
- *
- * @param inverted
- * Whether the chart is inverted.
- *
- * @return Returns true if the given point is inside the plot area.
- */
- isInsidePlot(plotX: number, plotY: number, inverted?: boolean): boolean;
- /**
- * Redraw the chart after changes have been done to the data, axis extremes
- * chart size or chart elements. All methods for updating axes, series or
- * points have a parameter for redrawing the chart. This is `true` by
- * default. But in many cases you want to do more than one operation on the
- * chart before redrawing, for example add a number of points. In those
- * cases it is a waste of resources to redraw the chart for each new point
- * added. So you add the points and call `chart.redraw()` after.
- *
- * @param animation
- * If or how to apply animation to the redraw.
- *
- * @fires Highcharts.Chart#afterSetExtremes
- * @fires Highcharts.Chart#beforeRedraw
- * @fires Highcharts.Chart#predraw
- * @fires Highcharts.Chart#redraw
- * @fires Highcharts.Chart#render
- * @fires Highcharts.Chart#updatedData
- */
- redraw(animation?: (boolean|Partial<AnimationOptionsObject>)): void;
- /**
- * Reflows the chart to its container. By default, the chart reflows
- * automatically to its container following a `window.resize` event, as per
- * the chart.reflow option. However, there are no reliable events for div
- * resize, so if the container is resized without a window resize event,
- * this must be called explicitly.
- *
- * @param e
- * Event arguments. Used primarily when the function is called
- * internally as a response to window resize.
- */
- reflow(e?: Event): void;
- /**
- * Set the caption options. This can also be done from Chart#update.
- *
- * @param options
- * New caption options. The caption text itself is set by the
- * `options.text` property.
- */
- setCaption(options: CaptionOptions): void;
- /**
- * Set the chart container's class name, in addition to
- * `highcharts-container`.
- *
- * @param className
- * The additional class name.
- */
- setClassName(className?: string): void;
- /**
- * Resize the chart to a given width and height. In order to set the width
- * only, the height argument may be skipped. To set the height only, pass
- * `undefined` for the width.
- *
- * @param width
- * The new pixel width of the chart. Since v4.2.6, the argument can
- * be `undefined` in order to preserve the current value (when
- * setting height only), or `null` to adapt to the width of the
- * containing element.
- *
- * @param height
- * The new pixel height of the chart. Since v4.2.6, the argument can
- * be `undefined` in order to preserve the current value, or `null`
- * in order to adapt to the height of the containing element.
- *
- * @param animation
- * Whether and how to apply animation.
- *
- * @fires Highcharts.Chart#endResize
- * @fires Highcharts.Chart#resize
- */
- setSize(width?: (number|null), height?: (number|null), animation?: (boolean|Partial<AnimationOptionsObject>)): void;
- /**
- * Shortcut to set the subtitle options. This can also be done from
- * Chart#update or Chart#setTitle.
- *
- * @param options
- * New subtitle options. The subtitle text itself is set by the
- * `options.text` property.
- */
- setSubtitle(options: SubtitleOptions): void;
- /**
- * Set a new title or subtitle for the chart.
- *
- * @param titleOptions
- * New title options. The title text itself is set by the
- * `titleOptions.text` property.
- *
- * @param subtitleOptions
- * New subtitle options. The subtitle text itself is set by the
- * `subtitleOptions.text` property.
- *
- * @param redraw
- * Whether to redraw the chart or wait for a later call to
- * `chart.redraw()`.
- */
- setTitle(titleOptions?: TitleOptions, subtitleOptions?: SubtitleOptions, redraw?: boolean): void;
- /**
- * Dim the chart and show a loading text or symbol. Options for the loading
- * screen are defined in the loading options.
- *
- * @param str
- * An optional text to show in the loading label instead of the
- * default one. The default text is set in lang.loading.
- */
- showLoading(str?: string): void;
- /**
- * Display the zoom button, so users can reset zoom to the default view
- * settings.
- *
- * @fires Highcharts.Chart#afterShowResetZoom
- * @fires Highcharts.Chart#beforeShowResetZoom
- */
- showResetZoom(): void;
- /**
- * A generic function to update any element of the chart. Elements can be
- * enabled and disabled, moved, re-styled, re-formatted etc.
- *
- * A special case is configuration objects that take arrays, for example
- * xAxis, yAxis or series. For these collections, an `id` option is used to
- * map the new option set to an existing object. If an existing object of
- * the same id is not found, the corresponding item is updated. So for
- * example, running `chart.update` with a series item without an id, will
- * cause the existing chart's series with the same index in the series array
- * to be updated. When the `oneToOne` parameter is true, `chart.update` will
- * also take care of adding and removing items from the collection. Read
- * more under the parameter description below.
- *
- * Note that when changing series data, `chart.update` may mutate the passed
- * data options.
- *
- * See also the responsive option set. Switching between `responsive.rules`
- * basically runs `chart.update` under the hood.
- *
- * @param options
- * A configuration object for the new chart options.
- *
- * @param redraw
- * Whether to redraw the chart.
- *
- * @param oneToOne
- * When `true`, the `series`, `xAxis`, `yAxis` and `annotations`
- * collections will be updated one to one, and items will be either
- * added or removed to match the new updated options. For example, if
- * the chart has two series and we call `chart.update` with a
- * configuration containing three series, one will be added. If we
- * call `chart.update` with one series, one will be removed. Setting
- * an empty `series` array will remove all series, but leaving out
- * the`series` property will leave all series untouched. If the
- * series have id's, the new series options will be matched by id,
- * and the remaining ones removed.
- *
- * @param animation
- * Whether to apply animation, and optionally animation
- * configuration.
- *
- * @fires Highcharts.Chart#update
- * @fires Highcharts.Chart#afterUpdate
- */
- update(options: Options, redraw?: boolean, oneToOne?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
- /**
- * Zoom the chart out after a user has zoomed in. See also Axis.setExtremes.
- *
- * @fires Highcharts.Chart#selection
- */
- zoomOut(): void;
- }
- /**
- * Handle color operations. Some object methods are chainable.
- */
- export class Color {
- /**
- * Creates a color instance out of a color string or object.
- *
- * @param input
- * The input color in either rbga or hex format.
- *
- * @return Color instance.
- */
- static parse(input: ColorType): Color;
- /**
- * Handle color operations. Some object methods are chainable.
- *
- * @param input
- * The input color in either rbga or hex format
- */
- constructor(input: ColorType);
- /**
- * Brighten the color instance.
- *
- * @param alpha
- * The alpha value.
- *
- * @return This color with modifications.
- */
- brighten(alpha: number): Color;
- /**
- * Return the color or gradient stops in the specified format
- *
- * @param format
- * Possible values are 'a', 'rgb', 'rgba' (default).
- *
- * @return This color as a string or gradient stops.
- */
- get(format?: string): ColorType;
- /**
- * Set the color's opacity to a given alpha value.
- *
- * @param alpha
- * Opacity between 0 and 1.
- *
- * @return Color with modifications.
- */
- setOpacity(alpha: number): Color;
- /**
- * Return an intermediate color between two colors.
- *
- * @param to
- * The color object to tween to.
- *
- * @param pos
- * The intermediate position, where 0 is the from color (current
- * color item), and 1 is the `to` color.
- *
- * @return The intermediate color in rgba notation.
- */
- tweenTo(to: Color, pos: number): ColorString;
- }
- /**
- * The ColorAxis object for inclusion in gradient legends.
- */
- export class ColorAxis {
- /**
- * The ColorAxis object for inclusion in gradient legends.
- *
- * @param chart
- * The related chart of the color axis.
- *
- * @param userOptions
- * The color axis options for initialization.
- */
- constructor(chart: Chart, userOptions: ColorAxisOptions);
- }
- /**
- * The overview of the chart's series. The legend object is instanciated
- * internally in the chart constructor, and is available from the `chart.legend`
- * property. Each chart has only one legend.
- */
- export class Legend {
- /**
- * The overview of the chart's series. The legend object is instanciated
- * internally in the chart constructor, and is available from the
- * `chart.legend` property. Each chart has only one legend.
- *
- * @param chart
- * The chart instance.
- *
- * @param options
- * Legend options.
- */
- constructor(chart: Chart, options: LegendOptions);
- /**
- * All items for the legend, which is an array of series for most series and
- * an array of points for pie series and its derivatives.
- */
- readonly allItems: Array<(Point|Series)>;
- /**
- * SVG element of the legend box.
- */
- readonly box: SVGElement;
- /**
- * Chart of this legend.
- */
- readonly chart: Chart;
- /**
- * SVG group of the legend.
- */
- readonly group: SVGElement;
- /**
- * Legend options.
- */
- readonly options: LegendOptions;
- /**
- * SVG element of the legend title.
- */
- readonly title: SVGElement;
- /**
- * Set the legend item text.
- *
- * @param item
- * The item for which to update the text in the legend.
- */
- setText(item: (Point|Series)): void;
- /**
- * Update the legend with new options. Equivalent to running `chart.update`
- * with a legend configuration option.
- *
- * @param options
- * Legend options.
- *
- * @param redraw
- * Whether to redraw the chart after the axis is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call Chart#redraw after. Whether to redraw the chart.
- *
- * @fires Highcharts.Legends#afterUpdate
- */
- update(options: LegendOptions, redraw?: boolean): void;
- }
- /**
- * The object wrapper for plot lines and plot bands
- */
- export class PlotLineOrBand {
- /**
- * The object wrapper for plot lines and plot bands
- */
- constructor(axis: Axis, options?: (AxisPlotBandsOptions|AxisPlotLinesOptions));
- /**
- * SVG element of the label.
- */
- label: SVGElement;
- /**
- * SVG element of the plot line or band.
- */
- svgElement: SVGElement;
- /**
- * Remove the plot line or band.
- */
- destroy(): void;
- }
- /**
- * The Point object. The point objects are generated from the `series.data`
- * configuration objects or raw numbers. They can be accessed from the
- * `Series.points` array. Other ways to instantiate points are through
- * Highcharts.Series#addPoint or Highcharts.Series#setData.
- */
- export class Point {
- /**
- * For categorized axes this property holds the category name for the point.
- * For other axes it holds the X value.
- */
- category: string;
- /**
- * The point's current color.
- */
- color?: (ColorString|GradientColorObject|PatternObject);
- /**
- * The point's current color index, used in styled mode instead of `color`.
- * The color index is inserted in class names used for styling.
- */
- colorIndex: number;
- /**
- * (Highstock) Highstock only. If a point object is created by data
- * grouping, it doesn't reflect actual points in the raw data. In this case,
- * the `dataGroup` property holds information that points back to the raw
- * data.
- *
- * - `dataGroup.start` is the index of the first raw data point in the
- * group.
- *
- * - `dataGroup.length` is the amount of points in the group.
- */
- dataGroup?: DataGroupingInfoObject;
- /**
- * Contains the point's index in the `Series.points` array.
- */
- readonly index: number;
- /**
- * The name of the point. The name can be given as the first position of the
- * point configuration array, or as a `name` property in the configuration:
- */
- name: string;
- /**
- * The point's options as applied in the initial configuration, or extended
- * through `Point.update`.
- *
- * In TypeScript you have to extend `PointOptionsObject` via an additional
- * interface to allow custom data options: (see online documentation for
- * example)
- */
- options: PointOptionsObject;
- /**
- * The percentage for points in a stacked series or pies.
- */
- percentage?: number;
- /**
- * Whether the point is selected or not.
- */
- selected: boolean;
- /**
- * The series object associated with the point.
- */
- series: Series;
- /**
- * Pie series only. Whether to display a slice offset from the center.
- */
- sliced?: boolean;
- /**
- * The total of values in either a stack for stacked series, or a pie in a
- * pie series.
- */
- total?: number;
- /**
- * For certain series types, like pie charts, where individual points can be
- * shown or hidden.
- */
- visible: boolean;
- /**
- * The x value of the point.
- */
- x: number;
- /**
- * The y value of the point.
- */
- y?: number;
- /**
- * Get the CSS class names for individual points. Used internally where the
- * returned value is set on every point.
- *
- * @return The class names.
- */
- getClassName(): string;
- /**
- * Return the configuration hash needed for the data label and tooltip
- * formatters.
- *
- * @return Abstract object used in formatters and formats.
- */
- getLabelConfig(): PointLabelObject;
- /**
- * In a series with `zones`, return the zone that the point belongs to.
- *
- * @return The zone item.
- */
- getZone(): SeriesZonesOptionsObject;
- /**
- * Get the path definition for the halo, which is usually a shadow-like
- * circle around the currently hovered point.
- *
- * @param size
- * The radius of the circular halo.
- *
- * @return The path definition.
- */
- haloPath(size: number): SVGPathArray;
- /**
- * Initialize the point. Called internally based on the `series.data`
- * option.
- *
- * @param series
- * The series object containing this point.
- *
- * @param options
- * The data in either number, array or object format.
- *
- * @param x
- * Optionally, the X value of the point.
- *
- * @return The Point instance.
- *
- * @fires Highcharts.Point#afterInit
- */
- init(series: Series, options: PointOptionsType, x?: number): Point;
- /**
- * Runs on mouse out from the point. Called internally from mouse and touch
- * events.
- *
- * @fires Highcharts.Point#mouseOut
- */
- onMouseOut(): void;
- /**
- * Runs on mouse over the point. Called internally from mouse and touch
- * events.
- *
- * @param e
- * The event arguments.
- */
- onMouseOver(e?: PointerEventObject): void;
- /**
- * Transform number or array configs into objects. Also called for object
- * configs. Used internally to unify the different configuration formats for
- * points. For example, a simple number `10` in a line series will be
- * transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a
- * scatter series will be transformed to `{ x: 1, y: 10 }`.
- *
- * @param options
- * The input option.
- *
- * @return Transformed options.
- */
- optionsToObject(options: PointOptionsType): Dictionary<any>;
- /**
- * Remove a point and optionally redraw the series and if necessary the axes
- *
- * @param redraw
- * Whether to redraw the chart or wait for an explicit call. When
- * doing more operations on the chart, for example running
- * `point.remove()` in a loop, it is best practice to set `redraw` to
- * false and call `chart.redraw()` after.
- *
- * @param animation
- * Whether to apply animation, and optionally animation
- * configuration.
- */
- remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
- /**
- * Toggle the selection status of a point.
- *
- * @param selected
- * When `true`, the point is selected. When `false`, the point is
- * unselected. When `null` or `undefined`, the selection state is
- * toggled.
- *
- * @param accumulate
- * When `true`, the selection is added to other selected points. When
- * `false`, other selected points are deselected. Internally in
- * Highcharts, when allowPointSelect is `true`, selected points are
- * accumulated on Control, Shift or Cmd clicking the point.
- *
- * @fires Highcharts.Point#select
- * @fires Highcharts.Point#unselect
- */
- select(selected?: boolean, accumulate?: boolean): void;
- /**
- * Set a value in an object, on the property defined by key. The key
- * supports nested properties using dot notation. The function modifies the
- * input object and does not make a copy.
- *
- * @param object
- * The object to set the value on.
- *
- * @param value
- * The value to set.
- *
- * @param key
- * Key to the property to set.
- *
- * @return The modified object.
- */
- setNestedProperty<T>(object: T, value: any, key: string): T;
- /**
- * Set the point's state.
- *
- * @param state
- * The new state, can be one of `'hover'`, `'select'`, `'inactive'`,
- * or `''` (an empty string), `'normal'` or `undefined` to set to
- * normal state.
- *
- * @param move
- * State for animation.
- *
- * @fires Highcharts.Point#afterSetState
- */
- setState(state?: (""|PointStateValue), move?: boolean): void;
- /**
- * Extendable method for formatting each point's tooltip line.
- *
- * @param pointFormat
- * The point format.
- *
- * @return A string to be concatenated in to the common tooltip text.
- */
- tooltipFormatter(pointFormat: string): string;
- /**
- * Update point with new options (typically x/y data) and optionally redraw
- * the series.
- *
- * @param options
- * The point options. Point options are handled as described under
- * the `series.type.data` item for each series type. For example for
- * a line series, if options is a single number, the point will be
- * given that number as the marin y value. If it is an array, it will
- * be interpreted as x and y values respectively. If it is an object,
- * advanced options are applied.
- *
- * @param redraw
- * Whether to redraw the chart after the point is updated. If doing
- * more operations on the chart, it is best practice to set `redraw`
- * to false and call `chart.redraw()` after.
- *
- * @param animation
- * Whether to apply animation, and optionally animation
- * configuration.
- *
- * @fires Highcharts.Point#update
- */
- update(options: PointOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
- }
- /**
- * The mouse and touch tracker object. Each Chart item has one assosiated
- * Pointer item that can be accessed from the Chart.pointer property.
- */
- export class Pointer {
- /**
- * The mouse and touch tracker object. Each Chart item has one assosiated
- * Pointer item that can be accessed from the Chart.pointer property.
- *
- * @param chart
- * The chart instance.
- *
- * @param options
- * The root options object. The pointer uses options from the chart
- * and tooltip structures.
- */
- constructor(chart: Chart, options: Options);
- /**
- * Destroys the Pointer object and disconnects DOM events.
- */
- destroy(): void;
- /**
- * Finds the closest point to a set of coordinates, using the k-d-tree
- * algorithm.
- *
- * @param series
- * All the series to search in.
- *
- * @param shared
- * Whether it is a shared tooltip or not.
- *
- * @param e
- * The pointer event object, containing chart coordinates of the
- * pointer.
- *
- * @return The point closest to given coordinates.
- */
- findNearestKDPoint(series: Array<Series>, shared: (boolean|undefined), e: PointerEventObject): (Point|undefined);
- /**
- * Return the cached chartPosition if it is available on the Pointer,
- * otherwise find it. Running offset is quite expensive, so it should be
- * avoided when we know the chart hasn't moved.
- *
- * @return The offset of the chart container within the page
- */
- getChartPosition(): OffsetObject;
- /**
- * Get the click position in terms of axis values.
- *
- * @param e
- * Pointer event, extended with `chartX` and `chartY` properties.
- */
- getCoordinates(e: PointerEventObject): PointerAxisCoordinatesObject;
- /**
- * Utility to detect whether an element has, or has a parent with, a
- * specificclass name. Used on detection of tracker objects and on deciding
- * whether hovering the tooltip should cause the active series to mouse out.
- *
- * @param element
- * The element to investigate.
- *
- * @param className
- * The class name to look for.
- *
- * @return True if either the element or one of its parents has the given
- * class name.
- */
- inClass(element: (HTMLDOMElement|SVGDOMElement), className: string): (boolean|undefined);
- /**
- * Takes a browser event object and extends it with custom Highcharts
- * properties `chartX` and `chartY` in order to work on the internal
- * coordinate system.
- *
- * @param e
- * Event object in standard browsers.
- *
- * @param chartPosition
- * Additional chart offset.
- *
- * @return A browser event with extended properties `chartX` and `chartY`.
- */
- normalize(e: (MouseEvent|PointerEvent|TouchEvent), chartPosition?: OffsetObject): PointerEventObject;
- /**
- * Reset the tracking by hiding the tooltip, the hover series state and the
- * hover point
- *
- * @param allowMove
- * Instead of destroying the tooltip altogether, allow moving it if
- * possible.
- */
- reset(allowMove?: boolean, delay?: number): void;
- }
- /**
- * This is the base series prototype that all other series types inherit from. A
- * new series is initialized either through the series option structure, or
- * after the chart is initialized, through Highcharts.Chart#addSeries.
- *
- * The object can be accessed in a number of ways. All series and point event
- * handlers give a reference to the `series` object. The chart object has a
- * series property that is a collection of all the chart's series. The point
- * objects and axis objects also have the same reference.
- *
- * Another way to reference the series programmatically is by `id`. Add an id in
- * the series configuration options, and get the series object by
- * Highcharts.Chart#get.
- *
- * Configuration options for the series are given in three levels. Options for
- * all series in a chart are given in the plotOptions.series object. Then
- * options for all series of a specific type are given in the plotOptions of
- * that type, for example `plotOptions.line`. Next, options for one single
- * series are given in the series array, or as arguments to `chart.addSeries`.
- *
- * The data in the series is stored in various arrays.
- *
- * - First, `series.options.data` contains all the original config options for
- * each point whether added by options or methods like `series.addPoint`.
- *
- * - Next, `series.data` contains those values converted to points, but in case
- * the series data length exceeds the `cropThreshold`, or if the data is
- * grouped, `series.data` doesn't contain all the points. It only contains the
- * points that have been created on demand.
- *
- * - Then there's `series.points` that contains all currently visible point
- * objects. In case of cropping, the cropped-away points are not part of this
- * array. The `series.points` array starts at `series.cropStart` compared to
- * `series.data` and `series.options.data`. If however the series data is
- * grouped, these can't be correlated one to one.
- *
- * - `series.xData` and `series.processedXData` contain clean x values,
- * equivalent to `series.data` and `series.points`.
- *
- * - `series.yData` and `series.processedYData` contain clean y values,
- * equivalent to `series.data` and `series.points`.
- */
- export class Series {
- /**
- * This is the base series prototype that all other series types inherit
- * from. A new series is initialized either through the series option
- * structure, or after the chart is initialized, through
- * Highcharts.Chart#addSeries.
- *
- * The object can be accessed in a number of ways. All series and point
- * event handlers give a reference to the `series` object. The chart object
- * has a series property that is a collection of all the chart's series. The
- * point objects and axis objects also have the same reference.
- *
- * Another way to reference the series programmatically is by `id`. Add an
- * id in the series configuration options, and get the series object by
- * Highcharts.Chart#get.
- *
- * Configuration options for the series are given in three levels. Options
- * for all series in a chart are given in the plotOptions.series object.
- * Then options for all series of a specific type are given in the
- * plotOptions of that type, for example `plotOptions.line`. Next, options
- * for one single series are given in the series array, or as arguments to
- * `chart.addSeries`.
- *
- * The data in the series is stored in various arrays.
- *
- * - First, `series.options.data` contains all the original config options
- * for each point whether added by options or methods like
- * `series.addPoint`.
- *
- * - Next, `series.data` contains those values converted to points, but in
- * case the series data length exceeds the `cropThreshold`, or if the data
- * is grouped, `series.data` doesn't contain all the points. It only
- * contains the points that have been created on demand.
- *
- * - Then there's `series.points` that contains all currently visible point
- * objects. In case of cropping, the cropped-away points are not part of
- * this array. The `series.points` array starts at `series.cropStart`
- * compared to `series.data` and `series.options.data`. If however the
- * series data is grouped, these can't be correlated one to one.
- *
- * - `series.xData` and `series.processedXData` contain clean x values,
- * equivalent to `series.data` and `series.points`.
- *
- * - `series.yData` and `series.processedYData` contain clean y values,
- * equivalent to `series.data` and `series.points`.
- *
- * @param chart
- * The chart instance.
- *
- * @param options
- * The series options.
- */
- constructor(chart: Chart, options: (object|SeriesOptionsType));
- /**
- * SVG element of area-based charts. Can be used for styling purposes. If
- * zones are configured, this element will be hidden and replaced by
- * multiple zone areas, accessible via `series['zone-area-x']` (where x is a
- * number, starting with 0).
- */
- area?: SVGElement;
- /**
- * Read only. The chart that the series belongs to.
- */
- chart: Chart;
- /**
- * Read only. An array containing those values converted to points. In case
- * the series data length exceeds the `cropThreshold`, or if the data is
- * grouped, `series.data` doesn't contain all the points. Also, in case a
- * series is hidden, the `data` array may be empty. To access raw values,
- * `series.options.data` will always be up to date. `Series.data` only
- * contains the points that have been created on demand. To modify the data,
- * use Highcharts.Series#setData or Highcharts.Point#update.
- */
- data: Array<Point>;
- /**
- * Contains the maximum value of the series' data point. Some series types
- * like `networkgraph` do not support this property as they lack a
- * `y`-value.
- */
- readonly dataMax?: number;
- /**
- * Contains the minimum value of the series' data point. Some series types
- * like `networkgraph` do not support this property as they lack a
- * `y`-value.
- */
- readonly dataMin?: number;
- /**
- * SVG element of line-based charts. Can be used for styling purposes. If
- * zones are configured, this element will be hidden and replaced by
- * multiple zone lines, accessible via `series['zone-graph-x']` (where x is
- * a number, starting with 0).
- */
- graph?: SVGElement;
- /**
- * Contains the series' index in the `Chart.series` array.
- */
- readonly index: number;
- /**
- * The series name as given in the options. Defaults to "Series {n}".
- */
- name: string;
- /**
- * Read only. The series' current options. To update, use Series#update.
- */
- options: SeriesOptionsType;
- /**
- * An array containing all currently visible point objects. In case of
- * cropping, the cropped-away points are not part of this array. The
- * `series.points` array starts at `series.cropStart` compared to
- * `series.data` and `series.options.data`. If however the series data is
- * grouped, these can't be correlated one to one. To modify the data, use
- * Highcharts.Series#setData or Highcharts.Point#update.
- */
- points: Array<Point>;
- /**
- * Read only. The series' selected state as set by Highcharts.Series#select.
- */
- selected: boolean;
- /**
- * Read only. The series' type, like "line", "area", "column" etc. The type
- * in the series options anc can be altered using Series#update.
- */
- type: string;
- /**
- * Contains series options by the user without defaults.
- */
- userOptions: SeriesOptionsType;
- /**
- * Read only. The series' visibility state as set by Series#show,
- * Series#hide, or in the initial configuration.
- */
- visible: boolean;
- /**
- * Read only. The unique xAxis object associated with the series.
- */
- xAxis: Axis;
- /**
- * Read only. The unique yAxis object associated with the series.
- */
- yAxis: Axis;
- /**
- * Add a point to the series after render time. The point can be added at
- * the end, or by giving it an X value, to the start or in the middle of the
- * series.
- *
- * @param options
- * The point options. If options is a single number, a point with
- * that y value is appended to the series. If it is an array, it will
- * be interpreted as x and y values respectively. If it is an object,
- * advanced options as outlined under `series.data` are applied.
- *
- * @param redraw
- * Whether to redraw the chart after the point is added. When adding
- * more than one point, it is highly recommended that the redraw
- * option be set to false, and instead Chart#redraw is explicitly
- * called after the adding of points is finished. Otherwise, the
- * chart will redraw after adding each point.
- *
- * @param shift
- * If true, a point is shifted off the start of the series as one is
- * appended to the end.
- *
- * @param animation
- * Whether to apply animation, and optionally animation
- * configuration.
- *
- * @param withEvent
- * Used internally, whether to fire the series `addPoint` event.
- *
- * @fires Highcharts.Series#addPoint
- */
- addPoint(options: PointOptionsType, redraw?: boolean, shift?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
- /**
- * Animate in the series. Called internally twice. First with the `init`
- * parameter set to true, which sets up the initial state of the animation.
- * Then when ready, it is called with the `init` parameter undefined, in
- * order to perform the actual animation. After the second run, the function
- * is removed.
- *
- * @param init
- * Initialize the animation.
- */
- animate(init?: boolean): void;
- /**
- * Draw the graph. Called internally when rendering line-like series types.
- * The first time it generates the `series.graph` item and optionally other
- * series-wide items like `series.area` for area charts. On subsequent calls
- * these items are updated with new positions and attributes.
- */
- drawGraph(): void;
- /**
- * Draw the markers for line-like series types, and columns or other
- * graphical representation for Point objects for other series types. The
- * resulting element is typically stored as Point.graphic, and is created on
- * the first call and updated and moved on subsequent calls.
- */
- drawPoints(): void;
- /**
- * Return series name in "Series {Number}" format or the one defined by a
- * user. This method can be simply overridden as series name format can vary
- * (e.g. technical indicators).
- *
- * @return The series name.
- */
- getName(): string;
- /**
- * Get the translation and scale for the plot area of this series.
- */
- getPlotBox(): SeriesPlotBoxObject;
- /**
- * Return the series points with null points filtered out.
- *
- * @param points
- * The points to inspect, defaults to Series.points.
- *
- * @param insideOnly
- * Whether to inspect only the points that are inside the visible
- * view.
- *
- * @param allowNull
- * Whether to allow null points to pass as valid points.
- *
- * @return The valid points.
- */
- getValidPoints(points?: Array<Point>, insideOnly?: boolean, allowNull?: boolean): Array<Point>;
- /**
- * Hide the series if visible. If the chart.ignoreHiddenSeries option is
- * true, the chart is redrawn without this series.
- *
- * @fires Highcharts.Series#hide
- */
- hide(): void;
- /**
- * Check whether the series item is itself or inherits from a certain series
- * type.
- *
- * @param type
- * The type of series to check for, can be either featured or custom
- * series types. For example `column`, `pie`, `ohlc` etc.
- *
- * @return True if this item is or inherits from the given type.
- */
- is(type: string): boolean;
- /**
- * Get non-presentational attributes for a point. Used internally for both
- * styled mode and classic. Can be overridden for different series types.
- *
- * @param point
- * The Point to inspect.
- *
- * @param state
- * The state, can be either `hover`, `select` or undefined.
- *
- * @return A hash containing those attributes that are not settable from
- * CSS.
- */
- markerAttribs(point: Point, state?: string): SVGAttributes;
- /**
- * Runs on mouse out of the series graphical items.
- *
- * @fires Highcharts.Series#mouseOut
- */
- onMouseOut(): void;
- /**
- * Runs on mouse over the series graphical items.
- *
- * @fires Highcharts.Series#mouseOver
- */
- onMouseOver(): void;
- /**
- * Remove a series and optionally redraw the chart.
- *
- * @param redraw
- * Whether to redraw the chart or wait for an explicit call to
- * Highcharts.Chart#redraw.
- *
- * @param animation
- * Whether to apply animation, and optionally animation
- * configuration.
- *
- * @param withEvent
- * Used internally, whether to fire the series `remove` event.
- *
- * @fires Highcharts.Series#remove
- */
- remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
- /**
- * Remove a point from the series. Unlike the Highcharts.Point#remove
- * method, this can also be done on a point that is not instanciated because
- * it is outside the view or subject to Highstock data grouping.
- *
- * @param i
- * The index of the point in the data array.
- *
- * @param redraw
- * Whether to redraw the chart after the point is added. When
- * removing more than one point, it is highly recommended that the
- * `redraw` option be set to `false`, and instead
- * Highcharts.Chart#redraw is explicitly called after the adding of
- * points is finished.
- *
- * @param animation
- * Whether and optionally how the series should be animated.
- *
- * @fires Highcharts.Point#remove
- */
- removePoint(i: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
- /**
- * Render the graph and markers. Called internally when first rendering and
- * later when redrawing the chart. This function can be extended in plugins,
- * but normally shouldn't be called directly.
- *
- * @fires Highcharts.Series#afterRender
- */
- render(): void;
- /**
- * Select or unselect the series. This means its selected property is set,
- * the checkbox in the legend is toggled and when selected, the series is
- * returned by the Highcharts.Chart#getSelectedSeries function.
- *
- * @param selected
- * True to select the series, false to unselect. If undefined, the
- * selection state is toggled.
- *
- * @fires Highcharts.Series#select
- * @fires Highcharts.Series#unselect
- */
- select(selected?: boolean): void;
- /**
- * Apply a new set of data to the series and optionally redraw it. The new
- * data array is passed by reference (except in case of `updatePoints`), and
- * may later be mutated when updating the chart data.
- *
- * Note the difference in behaviour when setting the same amount of points,
- * or a different amount of points, as handled by the `updatePoints`
- * parameter.
- *
- * @param data
- * Takes an array of data in the same format as described under
- * `series.{type}.data` for the given series type, for example a line
- * series would take data in the form described under
- * series.line.data.
- *
- * @param redraw
- * Whether to redraw the chart after the series is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call Chart#redraw after.
- *
- * @param animation
- * When the updated data is the same length as the existing data,
- * points will be updated by default, and animation visualizes how
- * the points are changed. Set false to disable animation, or a
- * configuration object to set duration or easing.
- *
- * @param updatePoints
- * When this is true, points will be updated instead of replaced
- * whenever possible. This occurs a) when the updated data is the
- * same length as the existing data, b) when points are matched by
- * their id's, or c) when points can be matched by X values. This
- * allows updating with animation and performs better. In this case,
- * the original array is not passed by reference. Set `false` to
- * prevent.
- */
- setData(data: Array<PointOptionsType>, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), updatePoints?: boolean): void;
- /**
- * Set the state of the series. Called internally on mouse interaction
- * operations, but it can also be called directly to visually highlight a
- * series.
- *
- * @param state
- * The new state, can be either `'hover'`, `'inactive'`, `'select'`,
- * or `''` (an empty string), `'normal'` or `undefined` to set to
- * normal state.
- *
- * @param inherit
- * Determines if state should be inherited by points too.
- */
- setState(state?: (""|SeriesStateValue), inherit?: boolean): void;
- /**
- * Show or hide the series.
- *
- * @param visible
- * True to show the series, false to hide. If undefined, the
- * visibility is toggled.
- *
- * @param redraw
- * Whether to redraw the chart after the series is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call chart.redraw() after.
- *
- * @fires Highcharts.Series#hide
- * @fires Highcharts.Series#show
- */
- setVisible(visible?: boolean, redraw?: boolean): void;
- /**
- * Show the series if hidden.
- *
- * @fires Highcharts.Series#show
- */
- show(): void;
- /**
- * Translate data points from raw data values to chart specific positioning
- * data needed later in the `drawPoints` and `drawGraph` functions. This
- * function can be overridden in plugins and custom series type
- * implementations.
- *
- * @fires Highcharts.Series#events:translate
- */
- translate(): void;
- /**
- * Update the series with a new set of options. For a clean and precise
- * handling of new options, all methods and elements from the series are
- * removed, and it is initialized from scratch. Therefore, this method is
- * more performance expensive than some other utility methods like
- * Series#setData or Series#setVisible.
- *
- * Note that `Series.update` may mutate the passed `data` options.
- *
- * @param options
- * New options that will be merged with the series' existing options.
- *
- * @param redraw
- * Whether to redraw the chart after the series is altered. If doing
- * more operations on the chart, it is a good idea to set redraw to
- * false and call Chart#redraw after.
- *
- * @fires Highcharts.Series#update
- * @fires Highcharts.Series#afterUpdate
- */
- update(options: SeriesOptionsType, redraw?: boolean): void;
- }
- /**
- * The SVGElement prototype is a JavaScript wrapper for SVG elements used in the
- * rendering layer of Highcharts. Combined with the Highcharts.SVGRenderer
- * object, these prototypes allow freeform annotation in the charts or even in
- * HTML pages without instanciating a chart. The SVGElement can also wrap HTML
- * labels, when `text` or `label` elements are created with the `useHTML`
- * parameter.
- *
- * The SVGElement instances are created through factory functions on the
- * Highcharts.SVGRenderer object, like rect, path, text, label, g and more.
- */
- export class SVGElement {
- /**
- * The primary DOM node. Each `SVGElement` instance wraps a main DOM node,
- * but may also represent more nodes.
- */
- element: (HTMLDOMElement|SVGDOMElement);
- /**
- * The renderer that the SVGElement belongs to.
- */
- renderer: SVGRenderer;
- /**
- * Add the element to the DOM. All elements must be added this way.
- *
- * @param parent
- * The parent item to add it to. If undefined, the element is added
- * to the Highcharts.SVGRenderer.box.
- *
- * @return Returns the SVGElement for chaining.
- */
- add(parent?: SVGElement): SVGElement;
- /**
- * Add a class name to an element.
- *
- * @param className
- * The new class name to add.
- *
- * @param replace
- * When true, the existing class name(s) will be overwritten with the
- * new one. When false, the new one is added.
- *
- * @return Return the SVG element for chainability.
- */
- addClass(className: string, replace?: boolean): SVGElement;
- /**
- * Align the element relative to the chart or another box.
- *
- * @param alignOptions
- * The alignment options. The function can be called without this
- * parameter in order to re-align an element after the box has been
- * updated.
- *
- * @param alignByTranslate
- * Align element by translation.
- *
- * @param box
- * The box to align to, needs a width and height. When the box is a
- * string, it refers to an object in the Renderer. For example, when
- * box is `spacingBox`, it refers to `Renderer.spacingBox` which
- * holds `width`, `height`, `x` and `y` properties.
- *
- * @return Returns the SVGElement for chaining.
- */
- align(alignOptions?: AlignObject, alignByTranslate?: boolean, box?: (string|BBoxObject)): SVGElement;
- /**
- * Animate to given attributes or CSS properties.
- *
- * @param params
- * SVG attributes or CSS to animate.
- *
- * @param options
- * Animation options.
- *
- * @param complete
- * Function to perform at the end of animation.
- *
- * @return Returns the SVGElement for chaining.
- */
- animate(params: SVGAttributes, options?: (boolean|Partial<AnimationOptionsObject>), complete?: Function): SVGElement;
- attr(key: string): (number|string);
- /**
- * Apply native and custom attributes to the SVG elements.
- *
- * In order to set the rotation center for rotation, set x and y to 0 and
- * use `translateX` and `translateY` attributes to position the element
- * instead.
- *
- * Attributes frequently used in Highcharts are `fill`, `stroke`,
- * `stroke-width`.
- *
- * @param hash
- * The native and custom SVG attributes.
- *
- * @param val
- * If the type of the first argument is `string`, the second can be a
- * value, which will serve as a single attribute setter. If the first
- * argument is a string and the second is undefined, the function
- * serves as a getter and the current value of the property is
- * returned.
- *
- * @param complete
- * A callback function to execute after setting the attributes. This
- * makes the function compliant and interchangeable with the
- * SVGElement#animate function.
- *
- * @param continueAnimation
- * Used internally when `.attr` is called as part of an animation
- * step. Otherwise, calling `.attr` for an attribute will stop
- * animation for that attribute.
- *
- * @return If used as a setter, it returns the current Highcharts.SVGElement
- * so the calls can be chained. If used as a getter, the current
- * value of the attribute is returned.
- */
- attr(hash?: (string|SVGAttributes), val?: (number|string|SVGPathArray), complete?: Function, continueAnimation?: boolean): SVGElement;
- /**
- * Apply a clipping rectangle to this element.
- *
- * @param clipRect
- * The clipping rectangle. If skipped, the current clip is removed.
- *
- * @return Returns the SVG element to allow chaining.
- */
- clip(clipRect?: ClipRectElement): SVGElement;
- /**
- * Calculate the coordinates needed for drawing a rectangle crisply and
- * return the calculated attributes.
- *
- * @param rect
- * Rectangle to crisp.
- *
- * @param strokeWidth
- * The stroke width to consider when computing crisp positioning. It
- * can also be set directly on the rect parameter.
- *
- * @return The modified rectangle arguments.
- */
- crisp(rect: RectangleObject, strokeWidth?: number): RectangleObject;
- /**
- * Set styles for the element. In addition to CSS styles supported by native
- * SVG and HTML elements, there are also some custom made for Highcharts,
- * like `width`, `ellipsis` and `textOverflow` for SVG text elements.
- *
- * @param styles
- * The new CSS styles.
- *
- * @return Return the SVG element for chaining.
- */
- css(styles: CSSObject): SVGElement;
- /**
- * Destroy the element and element wrapper and clear up the DOM and event
- * hooks.
- */
- destroy(): void;
- /**
- * Fade out an element by animating its opacity down to 0, and hide it on
- * complete. Used internally for the tooltip.
- *
- * @param duration
- * The fade duration in milliseconds.
- */
- fadeOut(duration?: number): void;
- /**
- * Get the bounding box (width, height, x and y) for the element. Generally
- * used to get rendered text size. Since this is called a lot in charts, the
- * results are cached based on text properties, in order to save DOM
- * traffic. The returned bounding box includes the rotation, so for example
- * a single text line of rotation 90 will report a greater height, and a
- * width corresponding to the line-height.
- *
- * @param reload
- * Skip the cache and get the updated DOM bouding box.
- *
- * @param rot
- * Override the element's rotation. This is internally used on axis
- * labels with a value of 0 to find out what the bounding box would
- * be have been if it were not rotated.
- *
- * @return The bounding box with `x`, `y`, `width` and `height` properties.
- */
- getBBox(reload?: boolean, rot?: number): BBoxObject;
- /**
- * Get the computed style. Only in styled mode.
- *
- * @param prop
- * The property name to check for.
- *
- * @return The current computed value.
- */
- getStyle(prop: string): string;
- /**
- * Check if an element has the given class name.
- *
- * @param className
- * The class name to check for.
- *
- * @return Whether the class name is found.
- */
- hasClass(className: string): boolean;
- /**
- * Hide the element, similar to setting the `visibility` attribute to
- * `hidden`.
- *
- * @param hideByTranslation
- * The flag to determine if element should be hidden by moving out of
- * the viewport. Used for example for dataLabels.
- *
- * @return Returns the SVGElement for chaining.
- */
- hide(hideByTranslation?: boolean): SVGElement;
- /**
- * Initialize the SVG element. This function only exists to make the
- * initialization process overridable. It should not be called directly.
- *
- * @param renderer
- * The SVGRenderer instance to initialize to.
- *
- * @param nodeName
- * The SVG node name.
- */
- init(renderer: SVGRenderer, nodeName: string): void;
- /**
- * Invert a group, rotate and flip. This is used internally on inverted
- * charts, where the points and graphs are drawn as if not inverted, then
- * the series group elements are inverted.
- *
- * @param inverted
- * Whether to invert or not. An inverted shape can be un-inverted by
- * setting it to false.
- *
- * @return Return the SVGElement for chaining.
- */
- invert(inverted: boolean): SVGElement;
- /**
- * Add an event listener. This is a simple setter that replaces all other
- * events of the same type, opposed to the Highcharts#addEvent function.
- *
- * @param eventType
- * The event type. If the type is `click`, Highcharts will internally
- * translate it to a `touchstart` event on touch devices, to prevent
- * the browser from waiting for a click event from firing.
- *
- * @param handler
- * The handler callback.
- *
- * @return The SVGElement for chaining.
- */
- on(eventType: string, handler: Function): SVGElement;
- /**
- * Remove a class name from the element.
- *
- * @param className
- * The class name to remove.
- *
- * @return Returns the SVG element for chainability.
- */
- removeClass(className: (string|RegExp)): SVGElement;
- /**
- * Set the coordinates needed to draw a consistent radial gradient across a
- * shape regardless of positioning inside the chart. Used on pie slices to
- * make all the slices have the same radial reference point.
- *
- * @param coordinates
- * The center reference. The format is `[centerX, centerY, diameter]`
- * in pixels.
- *
- * @return Returns the SVGElement for chaining.
- */
- setRadialReference(coordinates: Array<number>): SVGElement;
- /**
- * Add a shadow to the element. Must be called after the element is added to
- * the DOM. In styled mode, this method is not used, instead use `defs` and
- * filters.
- *
- * @param shadowOptions
- * The shadow options. If `true`, the default options are applied. If
- * `false`, the current shadow will be removed.
- *
- * @param group
- * The SVG group element where the shadows will be applied. The
- * default is to add it to the same parent as the current element.
- * Internally, this is ised for pie slices, where all the shadows are
- * added to an element behind all the slices.
- *
- * @param cutOff
- * Used internally for column shadows.
- *
- * @return Returns the SVGElement for chaining.
- */
- shadow(shadowOptions?: (boolean|ShadowOptionsObject), group?: SVGElement, cutOff?: boolean): SVGElement;
- /**
- * Show the element after it has been hidden.
- *
- * @param inherit
- * Set the visibility attribute to `inherit` rather than `visible`.
- * The difference is that an element with `visibility="visible"` will
- * be visible even if the parent is hidden.
- *
- * @return Returns the SVGElement for chaining.
- */
- show(inherit?: boolean): SVGElement;
- /**
- * Get the computed stroke width in pixel values. This is used extensively
- * when drawing shapes to ensure the shapes are rendered crisp and
- * positioned correctly relative to each other. Using `shape-rendering:
- * crispEdges` leaves us less control over positioning, for example when we
- * want to stack columns next to each other, or position things
- * pixel-perfectly within the plot box.
- *
- * The common pattern when placing a shape is:
- *
- * - Create the SVGElement and add it to the DOM. In styled mode, it will
- * now receive a stroke width from the style sheet. In classic mode we will
- * add the `stroke-width` attribute.
- *
- * - Read the computed `elem.strokeWidth()`.
- *
- * - Place it based on the stroke width.
- *
- * @return The stroke width in pixels. Even if the given stroke widtch (in
- * CSS or by attributes) is based on `em` or other units, the pixel
- * size is returned.
- */
- strokeWidth(): number;
- /**
- * Bring the element to the front. Alternatively, a new zIndex can be set.
- *
- * @return Returns the SVGElement for chaining.
- */
- toFront(): SVGElement;
- /**
- * Move an object and its children by x and y values.
- *
- * @param x
- * The x value.
- *
- * @param y
- * The y value.
- */
- translate(x: number, y: number): SVGElement;
- }
- /**
- * Allows direct access to the Highcharts rendering layer in order to draw
- * primitive shapes like circles, rectangles, paths or text directly on a chart,
- * or independent from any chart. The SVGRenderer represents a wrapper object
- * for SVG in modern browsers. Through the VMLRenderer, part of the `oldie.js`
- * module, it also brings vector graphics to IE <= 8.
- *
- * An existing chart's renderer can be accessed through Chart.renderer. The
- * renderer can also be used completely decoupled from a chart.
- */
- export class SVGRenderer {
- /**
- * Allows direct access to the Highcharts rendering layer in order to draw
- * primitive shapes like circles, rectangles, paths or text directly on a
- * chart, or independent from any chart. The SVGRenderer represents a
- * wrapper object for SVG in modern browsers. Through the VMLRenderer, part
- * of the `oldie.js` module, it also brings vector graphics to IE <= 8.
- *
- * An existing chart's renderer can be accessed through Chart.renderer. The
- * renderer can also be used completely decoupled from a chart.
- *
- * @param container
- * Where to put the SVG in the web page.
- *
- * @param width
- * The width of the SVG.
- *
- * @param height
- * The height of the SVG.
- *
- * @param style
- * The box style, if not in styleMode
- *
- * @param forExport
- * Whether the rendered content is intended for export.
- *
- * @param allowHTML
- * Whether the renderer is allowed to include HTML text, which will
- * be projected on top of the SVG.
- *
- * @param styledMode
- * Whether the renderer belongs to a chart that is in styled mode. If
- * it does, it will avoid setting presentational attributes in some
- * cases, but not when set explicitly through `.attr` and `.css` etc.
- */
- constructor(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean);
- /**
- * The root `svg` node of the renderer.
- */
- box: SVGDOMElement;
- /**
- * The wrapper for the root `svg` node of the renderer.
- */
- boxWrapper: SVGElement;
- /**
- * A pointer to the `defs` node of the root SVG.
- */
- defs: SVGElement;
- /**
- * A pointer to the renderer's associated Element class. The VMLRenderer
- * will have a pointer to VMLElement here.
- */
- Element: SVGElement;
- /**
- * A collection of characters mapped to HTML entities. When `useHTML` on an
- * element is true, these entities will be rendered correctly by HTML. In
- * the SVG pseudo-HTML, they need to be unescaped back to simple characters,
- * so for example `<` will render as `<`.
- */
- escapes: Dictionary<string>;
- /**
- * An extendable collection of functions for defining symbol paths.
- */
- symbols: SymbolDictionary;
- /**
- * Draw and return an arc. Overloaded function that takes arguments object.
- *
- * @param attribs
- * Initial SVG attributes.
- *
- * @return The generated wrapper element.
- */
- arc(attribs: SVGAttributes): SVGElement;
- /**
- * Draw and return an arc.
- *
- * @param x
- * Center X position.
- *
- * @param y
- * Center Y position.
- *
- * @param r
- * The outer radius' of the arc.
- *
- * @param innerR
- * Inner radius like used in donut charts.
- *
- * @param start
- * The starting angle of the arc in radians, where 0 is to the right
- * and `-Math.PI/2` is up.
- *
- * @param end
- * The ending angle of the arc in radians, where 0 is to the right
- * and `-Math.PI/2` is up.
- *
- * @return The generated wrapper element.
- */
- arc(x?: number, y?: number, r?: number, innerR?: number, start?: number, end?: number): SVGElement;
- /**
- * Create a button with preset states.
- *
- * @param text
- * The text or HTML to draw.
- *
- * @param x
- * The x position of the button's left side.
- *
- * @param y
- * The y position of the button's top side.
- *
- * @param callback
- * The function to execute on button click or touch.
- *
- * @param normalState
- * SVG attributes for the normal state.
- *
- * @param hoverState
- * SVG attributes for the hover state.
- *
- * @param pressedState
- * SVG attributes for the pressed state.
- *
- * @param disabledState
- * SVG attributes for the disabled state.
- *
- * @param shape
- * The shape type.
- *
- * @param useHTML
- * Wether to use HTML to render the label.
- *
- * @return The button element.
- */
- button(text: string, x: number, y: number, callback: EventCallbackFunction<SVGElement>, normalState?: SVGAttributes, hoverState?: SVGAttributes, pressedState?: SVGAttributes,
- disabledState?: SVGAttributes, shape?: SymbolKeyValue, useHTML?: boolean): SVGElement;
- /**
- * Draw a circle, wraps the SVG `circle` element.
- *
- * @param attribs
- * The initial attributes.
- *
- * @return The generated wrapper element.
- */
- circle(attribs?: SVGAttributes): SVGElement;
- /**
- * Draw a circle, wraps the SVG `circle` element.
- *
- * @param x
- * The center x position.
- *
- * @param y
- * The center y position.
- *
- * @param r
- * The radius.
- *
- * @return The generated wrapper element.
- */
- circle(x?: number, y?: number, r?: number): SVGElement;
- /**
- * Define a clipping rectangle. The clipping rectangle is later applied to
- * SVGElement objects through the SVGElement#clip function.
- *
- * @return A clipping rectangle.
- */
- clipRect(x?: number, y?: number, width?: number, height?: number): ClipRectElement;
- /**
- * Create a wrapper for an SVG element. Serves as a factory for SVGElement,
- * but this function is itself mostly called from primitive factories like
- * SVGRenderer#path, SVGRenderer#rect or SVGRenderer#text.
- *
- * @param nodeName
- * The node name, for example `rect`, `g` etc.
- *
- * @return The generated SVGElement.
- */
- createElement(nodeName: string): SVGElement;
- /**
- * Make a straight line crisper by not spilling out to neighbour pixels.
- *
- * @param points
- * The original points on the format `[['M', 0, 0], ['L', 100, 0]]`.
- *
- * @param width
- * The width of the line.
- *
- * @param roundingFunction
- * The rounding function name on the `Math` object, can be one of
- * `round`, `floor` or `ceil`.
- *
- * @return The original points array, but modified to render crisply.
- */
- crispLine(points: SVGPathArray, width: number, roundingFunction: string): SVGPathArray;
- /**
- * General method for adding a definition to the SVG `defs` tag. Can be used
- * for gradients, fills, filters etc. Styled mode only. A hook for adding
- * general definitions to the SVG's defs tag. Definitions can be referenced
- * from the CSS by its `id`. Read more in gradients, shadows and patterns.
- * Styled mode only.
- *
- * @param def
- * A serialized form of an SVG definition, including children.
- *
- * @return The inserted node.
- */
- definition(def: SVGDefinitionObject): SVGElement;
- /**
- * Destroys the renderer and its allocated members.
- */
- destroy(): null;
- /**
- * Dummy function for plugins, called every time the renderer is updated.
- * Prior to Highcharts 5, this was used for the canvg renderer.
- */
- draw(): void;
- /**
- * Utility to return the baseline offset and total line height from the font
- * size.
- *
- * @param fontSize
- * The current font size to inspect. If not given, the font size will
- * be found from the DOM element.
- *
- * @param elem
- * The element to inspect for a current font size.
- *
- * @return The font metrics.
- */
- fontMetrics(fontSize?: (number|string), elem?: (SVGDOMElement|SVGElement)): FontMetricsObject;
- /**
- * Create and return an svg group element. Child Highcharts.SVGElement
- * objects are added to the group by using the group as the first parameter
- * in add().
- *
- * @param name
- * The group will be given a class name of `highcharts-{name}`. This
- * can be used for styling and scripting.
- *
- * @return The generated wrapper element.
- */
- g(name?: string): SVGElement;
- /**
- * Returns white for dark colors and black for bright colors.
- *
- * @param rgba
- * The color to get the contrast for.
- *
- * @return The contrast color, either `#000000` or `#FFFFFF`.
- */
- getContrast(rgba: ColorString): ColorString;
- /**
- * Display an image.
- *
- * @param src
- * The image source.
- *
- * @param x
- * The X position.
- *
- * @param y
- * The Y position.
- *
- * @param width
- * The image width. If omitted, it defaults to the image file width.
- *
- * @param height
- * The image height. If omitted it defaults to the image file height.
- *
- * @param onload
- * Event handler for image load.
- *
- * @return The generated wrapper element.
- */
- image(src: string, x?: number, y?: number, width?: number, height?: number, onload?: Function): SVGElement;
- /**
- * Initialize the SVGRenderer. Overridable initializer function that takes
- * the same parameters as the constructor.
- *
- * @param container
- * Where to put the SVG in the web page.
- *
- * @param width
- * The width of the SVG.
- *
- * @param height
- * The height of the SVG.
- *
- * @param style
- * The box style, if not in styleMode
- *
- * @param forExport
- * Whether the rendered content is intended for export.
- *
- * @param allowHTML
- * Whether the renderer is allowed to include HTML text, which will
- * be projected on top of the SVG.
- *
- * @param styledMode
- * Whether the renderer belongs to a chart that is in styled mode. If
- * it does, it will avoid setting presentational attributes in some
- * cases, but not when set explicitly through `.attr` and `.css` etc.
- */
- init(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean): void;
- /**
- * Detect whether the renderer is hidden. This happens when one of the
- * parent elements has `display: none`. Used internally to detect when we
- * needto render preliminarily in another div to get the text bounding boxes
- * right.
- *
- * @return True if it is hidden.
- */
- isHidden(): boolean;
- /**
- * Draw a label, which is an extended text element with support for border
- * and background. Highcharts creates a `g` element with a text and a `path`
- * or `rect` inside, to make it behave somewhat like a HTML div. Border and
- * background are set through `stroke`, `stroke-width` and `fill` attributes
- * using the attr method. To update the text after render, run `label.attr({
- * text: 'New text' })`.
- *
- * @param str
- * The initial text string or (subset) HTML to render.
- *
- * @param x
- * The x position of the label's left side.
- *
- * @param y
- * The y position of the label's top side or baseline, depending on
- * the `baseline` parameter.
- *
- * @param shape
- * The shape of the label's border/background, if any. Defaults to
- * `rect`. Other possible values are `callout` or other shapes
- * defined in Highcharts.SVGRenderer#symbols.
- *
- * @param anchorX
- * In case the `shape` has a pointer, like a flag, this is the
- * coordinates it should be pinned to.
- *
- * @param anchorY
- * In case the `shape` has a pointer, like a flag, this is the
- * coordinates it should be pinned to.
- *
- * @param useHTML
- * Wether to use HTML to render the label.
- *
- * @param baseline
- * Whether to position the label relative to the text baseline, like
- * renderer.text, or to the upper border of the rectangle.
- *
- * @param className
- * Class name for the group.
- *
- * @return The generated label.
- */
- label(str: string, x: number, y?: number, shape?: string, anchorX?: number, anchorY?: number, useHTML?: boolean, baseline?: boolean, className?: string): SVGElement;
- /**
- * Draw a path, wraps the SVG `path` element.
- *
- * @param path
- * An SVG path definition in array form.
- *
- * @return The generated wrapper element.
- */
- path(path?: SVGPathArray): SVGElement;
- /**
- * Draw a path, wraps the SVG `path` element.
- *
- * @param attribs
- * The initial attributes.
- *
- * @return The generated wrapper element.
- */
- path(attribs?: SVGAttributes): SVGElement;
- /**
- * Draw and return a rectangle.
- *
- * @param attributes
- * General SVG attributes for the rectangle.
- *
- * @return The generated wrapper element.
- */
- rect(attributes?: SVGAttributes): SVGElement;
- /**
- * Draw and return a rectangle.
- *
- * @param x
- * Left position.
- *
- * @param y
- * Top position.
- *
- * @param width
- * Width of the rectangle.
- *
- * @param height
- * Height of the rectangle.
- *
- * @param r
- * Border corner radius.
- *
- * @param strokeWidth
- * A stroke width can be supplied to allow crisp drawing.
- *
- * @return The generated wrapper element.
- */
- rect(x?: number, y?: number, width?: number, height?: number, r?: number, strokeWidth?: number): SVGElement;
- /**
- * Resize the SVGRenderer#box and re-align all aligned child elements.
- *
- * @param width
- * The new pixel width.
- *
- * @param height
- * The new pixel height.
- *
- * @param animate
- * Whether and how to animate.
- */
- setSize(width: number, height: number, animate?: (boolean|Partial<AnimationOptionsObject>)): void;
- /**
- * Apply the global style on the renderer, mixed with the default styles.
- *
- * @param style
- * CSS to apply.
- */
- setStyle(style: CSSObject): void;
- /**
- * Draw a symbol out of pre-defined shape paths from SVGRenderer#symbols. It
- * is used in Highcharts for point makers, which cake a `symbol` option, and
- * label and button backgrounds like in the tooltip and stock flags.
- *
- * @param symbol
- * The symbol name.
- *
- * @param x
- * The X coordinate for the top left position.
- *
- * @param y
- * The Y coordinate for the top left position.
- *
- * @param width
- * The pixel width.
- *
- * @param height
- * The pixel height.
- *
- * @param options
- * Additional options, depending on the actual symbol drawn.
- */
- symbol(symbol: string, x?: number, y?: number, width?: number, height?: number, options?: SymbolOptionsObject): SVGElement;
- /**
- * Draw text. The text can contain a subset of HTML, like spans and anchors
- * and some basic text styling of these. For more advanced features like
- * border and background, use Highcharts.SVGRenderer#label instead. To
- * update the text after render, run `text.attr({ text: 'New text' })`.
- *
- * @param str
- * The text of (subset) HTML to draw.
- *
- * @param x
- * The x position of the text's lower left corner.
- *
- * @param y
- * The y position of the text's lower left corner.
- *
- * @param useHTML
- * Use HTML to render the text.
- *
- * @return The text object.
- */
- text(str?: string, x?: number, y?: number, useHTML?: boolean): SVGElement;
- }
- /**
- * The Tick class.
- */
- export class Tick {
- /**
- * The Tick class.
- *
- * @param axis
- * The axis of the tick.
- *
- * @param pos
- * The position of the tick on the axis in terms of axis values.
- *
- * @param type
- * The type of tick, either 'minor' or an empty string
- *
- * @param noLabel
- * Whether to disable the label or not. Defaults to false.
- *
- * @param parameters
- * Optional parameters for the tick.
- */
- constructor(axis: Axis, pos: number, type?: string, noLabel?: boolean, parameters?: object);
- /**
- * The related axis of the tick.
- */
- axis: Axis;
- /**
- * The rendered grid line of the tick.
- */
- gridLine?: SVGElement;
- /**
- * True if the tick is the first one on the axis.
- */
- readonly isFirst?: boolean;
- /**
- * True if the tick is the last one on the axis.
- */
- readonly isLast?: boolean;
- /**
- * The rendered text label of the tick.
- */
- label?: SVGElement;
- /**
- * The rendered mark of the tick.
- */
- mark?: SVGElement;
- /**
- * The logical position of the tick on the axis in terms of axis values.
- */
- pos: number;
- /**
- * The mark offset of the tick on the axis. Usually `undefined`, numeric for
- * grid axes.
- */
- tickmarkOffset?: number;
- /**
- * The tick type, which can be `"minor"`, or an empty string.
- */
- type: string;
- }
- /**
- * The Time class. Time settings are applied in general for each page using
- * `Highcharts.setOptions`, or individually for each Chart item through the time
- * options set.
- *
- * The Time object is available from Highcharts.Chart#time, which refers to
- * `Highcharts.time` if no individual time settings are applied.
- */
- export class Time {
- /**
- * The Time class. Time settings are applied in general for each page using
- * `Highcharts.setOptions`, or individually for each Chart item through the
- * time options set.
- *
- * The Time object is available from Highcharts.Chart#time, which refers to
- * `Highcharts.time` if no individual time settings are applied.
- *
- * @param options
- * Time options as defined in chart.options.time.
- */
- constructor(options: TimeOptions);
- /**
- * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970)
- * into a human readable date string. The available format keys are listed
- * below. Additional formats can be given in the Highcharts.dateFormats
- * hook.
- *
- * Supported format keys:
- *
- * - `%a`: Short weekday, like 'Mon'
- *
- * - `%A`: Long weekday, like 'Monday'
- *
- * - `%d`: Two digit day of the month, 01 to 31
- *
- * - `%e`: Day of the month, 1 through 31
- *
- * - `%w`: Day of the week, 0 through 6
- *
- * - `%b`: Short month, like 'Jan'
- *
- * - `%B`: Long month, like 'January'
- *
- * - `%m`: Two digit month number, 01 through 12
- *
- * - `%y`: Two digits year, like 09 for 2009
- *
- * - `%Y`: Four digits year, like 2009
- *
- * - `%H`: Two digits hours in 24h format, 00 through 23
- *
- * - `%k`: Hours in 24h format, 0 through 23
- *
- * - `%I`: Two digits hours in 12h format, 00 through 11
- *
- * - `%l`: Hours in 12h format, 1 through 12
- *
- * - `%M`: Two digits minutes, 00 through 59
- *
- * - `%p`: Upper case AM or PM
- *
- * - `%P`: Lower case AM or PM
- *
- * - `%S`: Two digits seconds, 00 through 59
- *
- * - `%L`: Milliseconds (naming from Ruby)
- *
- * @param format
- * The desired format where various time representations are prefixed
- * with %.
- *
- * @param timestamp
- * The JavaScript timestamp.
- *
- * @param capitalize
- * Upper case first letter in the return.
- *
- * @return The formatted date.
- */
- dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
- /**
- * Get the value of a date object in given units, and subject to the Time
- * object's current timezone settings. This function corresponds directly to
- * JavaScripts `Date.getXXX / Date.getUTCXXX`, so instead of calling
- * `date.getHours()` or `date.getUTCHours()` we will call
- * `time.get('Hours')`.
- *
- * @return The given time unit
- */
- get(unit: TimeUnitValue, date: Date): number;
- /**
- * Return an array with time positions distributed on round time values
- * right and right after min and max. Used in datetime axes as well as for
- * grouping data on a datetime axis.
- *
- * @param normalizedInterval
- * The interval in axis values (ms) and the count
- *
- * @param min
- * The minimum in axis values
- *
- * @param max
- * The maximum in axis values
- */
- getTimeTicks(normalizedInterval: TimeNormalizedObject, min?: number, max?: number, startOfWeek?: number): AxisTickPositionsArray;
- /**
- * Get the time zone offset based on the current timezone information as set
- * in the global options.
- *
- * @param timestamp
- * The JavaScript timestamp to inspect.
- *
- * @return The timezone offset in minutes compared to UTC.
- */
- getTimezoneOffset(timestamp: number): number;
- /**
- * Make a time and returns milliseconds. Interprets the inputs as UTC time,
- * local time or a specific timezone time depending on the current time
- * settings.
- *
- * @param year
- * The year
- *
- * @param month
- * The month. Zero-based, so January is 0.
- *
- * @param date
- * The day of the month
- *
- * @param hours
- * The hour of the day, 0-23.
- *
- * @param minutes
- * The minutes
- *
- * @param seconds
- * The seconds
- *
- * @return The time in milliseconds since January 1st 1970.
- */
- makeTime(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number): number;
- /**
- * Set the value of a date object in given units, and subject to the Time
- * object's current timezone settings. This function corresponds directly to
- * JavaScripts `Date.setXXX / Date.setUTCXXX`, so instead of calling
- * `date.setHours(0)` or `date.setUTCHours(0)` we will call
- * `time.set('Hours', 0)`.
- *
- * @return The epoch milliseconds of the updated date
- */
- set(unit: TimeUnitValue, date: Date, value: number): number;
- }
- /**
- * Tooltip of a chart.
- */
- export class Tooltip {
- /**
- * Tooltip of a chart.
- *
- * @param chart
- * The chart instance.
- *
- * @param options
- * Tooltip options.
- */
- constructor(chart: Chart, options: TooltipOptions);
- /**
- * Chart of the tooltip.
- */
- readonly chart: Chart;
- /**
- * Reference to the tooltip's container, when [Highcharts.Tooltip#outside]
- * is set to true, otherwise it's undefined.
- */
- container?: HTMLDOMElement;
- /**
- * Used tooltip options.
- */
- readonly options: TooltipOptions;
- /**
- * Whether to allow the tooltip to render outside the chart's SVG element
- * box. By default (false), the tooltip is rendered within the chart's SVG
- * element, which results in the tooltip being aligned inside the chart
- * area.
- */
- readonly outside: boolean;
- /**
- * Reference to the tooltip's renderer, when [Highcharts.Tooltip#outside] is
- * set to true, otherwise it's undefined.
- */
- renderer?: SVGRenderer;
- /**
- * When the tooltip is shared, the entire plot area will capture mouse
- * movement or touch events.
- */
- readonly shared?: boolean;
- /**
- * True, if the tooltip is split into one label per series, with the header
- * close to the axis.
- */
- readonly split?: boolean;
- /**
- * In case no user defined formatter is given, this will be used. Note that
- * the context here is an object holding point, series, x, y etc.
- */
- defaultFormatter(tooltip: Tooltip): Array<string>;
- /**
- * Removes and destroys the tooltip and its elements.
- */
- destroy(): void;
- /**
- * Creates the Tooltip label element if it does not exist, then returns it.
- */
- getLabel(): SVGElement;
- /**
- * Hides the tooltip with a fade out animation.
- *
- * @param delay
- * The fade out in milliseconds. If no value is provided the value of
- * the tooltip.hideDelay option is used. A value of 0 disables the
- * fade out animation.
- */
- hide(delay?: number): void;
- /**
- * Refresh the tooltip's text and position.
- *
- * @param pointOrPoints
- * Either a point or an array of points.
- *
- * @param mouseEvent
- * Mouse event, that is responsible for the refresh and should be
- * used for the tooltip update.
- */
- refresh(pointOrPoints: (Point|Array<Point>), mouseEvent?: PointerEventObject): void;
- /**
- * Updates the tooltip with the provided tooltip options.
- *
- * @param options
- * The tooltip options to update.
- */
- update(options: TooltipOptions): void;
- }
- /**
- * An array containing the current chart objects in the page. A chart's position
- * in the array is preserved throughout the page's lifetime. When a chart is
- * destroyed, the array item becomes `undefined`.
- */
- export let charts: Array<(Chart|undefined)>;
- /**
- * A hook for defining additional date format specifiers. New specifiers are
- * defined as key-value pairs by using the specifier as key, and a function
- * which takes the timestamp as value. This function returns the formatted
- * portion of the date.
- */
- export let dateFormats: Dictionary<TimeFormatCallbackFunction>;
- /**
- * Global default settings.
- */
- export let defaultOptions: Options;
- /**
- * Theme options that should get applied to the chart. In module mode it might
- * not be possible to change this property because of read-only restrictions,
- * instead use Highcharts.setOptions.
- */
- export let theme: Options;
- /**
- * Global `Time` object with default options. Since v6.0.5, time settings can be
- * applied individually for each chart. If no individual settings apply, this
- * `Time` object is shared by all instances.
- */
- export let time: Time;
- /**
- * Add an event listener.
- *
- * @param el
- * The element or object to add a listener to. It can be a
- * HTMLDOMElement, an SVGElement or any other object.
- *
- * @param type
- * The event type.
- *
- * @param fn
- * The function callback to execute when the event is fired.
- *
- * @param options
- * Options for adding the event.
- *
- * @return A callback function to remove the added event.
- */
- export function addEvent<T>(el: (T|Class<T>), type: string, fn: (Function|EventCallbackFunction<T>), options?: EventOptionsObject): Function;
- /**
- * The global animate method, which uses Fx to create individual animators.
- *
- * @param el
- * The element to animate.
- *
- * @param params
- * An object containing key-value pairs of the properties to animate.
- * Supports numeric as pixel-based CSS properties for HTML objects and
- * attributes for SVGElements.
- *
- * @param opt
- * Animation options.
- */
- export function animate(el: (HTMLDOMElement|SVGElement), params: (CSSObject|SVGAttributes), opt?: Partial<AnimationOptionsObject>): void;
- /**
- * Get the animation in object form, where a disabled animation is always
- * returned as `{ duration: 0 }`.
- *
- * @param animation
- * An animation setting. Can be an object with duration, complete and
- * easing properties, or a boolean to enable or disable.
- *
- * @return An object with at least a duration property.
- */
- export function animObject(animation?: (boolean|AnimationOptionsObject)): AnimationOptionsObject;
- /**
- * Non-recursive method to find the lowest member of an array. `Math.max` raises
- * a maximum call stack size exceeded error in Chrome when trying to apply more
- * than 150.000 points. This method is slightly slower, but safe.
- *
- * @param data
- * An array of numbers.
- *
- * @return The highest number.
- */
- export function arrayMax(data: Array<any>): number;
- /**
- * Non-recursive method to find the lowest member of an array. `Math.min` raises
- * a maximum call stack size exceeded error in Chrome when trying to apply more
- * than 150.000 points. This method is slightly slower, but safe.
- *
- * @param data
- * An array of numbers.
- *
- * @return The lowest number.
- */
- export function arrayMin(data: Array<any>): number;
- /**
- * Set or get an attribute or an object of attributes. To use as a setter, pass
- * a key and a value, or let the second argument be a collection of keys and
- * values. To use as a getter, pass only a string as the second argument.
- *
- * @param elem
- * The DOM element to receive the attribute(s).
- *
- * @param prop
- * The property or an object of key-value pairs.
- *
- * @param value
- * The value if a single property is set.
- *
- * @return When used as a getter, return the value.
- */
- export function attr(elem: (HTMLDOMElement|SVGDOMElement), prop?: (string|HTMLAttributes|SVGAttributes), value?: (number|string)): (string|null|undefined);
- /**
- * Factory function for basic charts.
- *
- * @param options
- * The chart options structure.
- *
- * @param callback
- * Function to run when the chart has loaded and and all external images
- * are loaded. Defining a chart.events.load handler is equivalent.
- *
- * @return Returns the Chart object.
- */
- export function chart(options: Options, callback?: ChartCallbackFunction): Chart;
- /**
- * Factory function for basic charts.
- *
- * @param renderTo
- * The DOM element to render to, or its id.
- *
- * @param options
- * The chart options structure.
- *
- * @param callback
- * Function to run when the chart has loaded and and all external images
- * are loaded. Defining a chart.events.load handler is equivalent.
- *
- * @return Returns the Chart object.
- */
- export function chart(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction): Chart;
- /**
- * Internal clear timeout. The function checks that the `id` was not removed
- * (e.g. by `chart.destroy()`). For the details see issue .7901.
- *
- * @param id
- * Id of a timeout.
- */
- export function clearTimeout(id: number): void;
- /**
- * Creates a color instance out of a color string.
- *
- * @param input
- * The input color in either rbga or hex format
- *
- * @return Color instance
- */
- export function color(input: ColorType): Color;
- /**
- * Fix JS round off float errors.
- *
- * @param num
- * A float number to fix.
- *
- * @param prec
- * The precision.
- *
- * @return The corrected float number.
- */
- export function correctFloat(num: number, prec?: number): number;
- /**
- * Utility function to create an HTML element with attributes and styles.
- *
- * @param tag
- * The HTML tag.
- *
- * @param attribs
- * Attributes as an object of key-value pairs.
- *
- * @param styles
- * Styles as an object of key-value pairs.
- *
- * @param parent
- * The parent HTML object.
- *
- * @param nopad
- * If true, remove all padding, border and margin.
- *
- * @return The created DOM element.
- */
- export function createElement(tag: string, attribs?: HTMLAttributes, styles?: CSSObject, parent?: HTMLDOMElement, nopad?: boolean): HTMLDOMElement;
- /**
- * Set CSS on a given element.
- *
- * @param el
- * An HTML DOM element.
- *
- * @param styles
- * Style object with camel case property names.
- */
- export function css(el: (HTMLDOMElement|SVGDOMElement), styles: CSSObject): void;
- /**
- * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
- * human readable date string. The format is a subset of the formats for PHP's
- * strftime function. Additional formats can be given in the
- * Highcharts.dateFormats hook.
- *
- * Since v6.0.5, all internal dates are formatted through the
- * Highcharts.Chart#time instance to respect chart-level time settings. The
- * `Highcharts.dateFormat` function only reflects global time settings set with
- * `setOptions`.
- *
- * Supported format keys:
- *
- * - `%a`: Short weekday, like 'Mon'
- *
- * - `%A`: Long weekday, like 'Monday'
- *
- * - `%d`: Two digit day of the month, 01 to 31
- *
- * - `%e`: Day of the month, 1 through 31
- *
- * - `%w`: Day of the week, 0 through 6
- *
- * - `%b`: Short month, like 'Jan'
- *
- * - `%B`: Long month, like 'January'
- *
- * - `%m`: Two digit month number, 01 through 12
- *
- * - `%y`: Two digits year, like 09 for 2009
- *
- * - `%Y`: Four digits year, like 2009
- *
- * - `%H`: Two digits hours in 24h format, 00 through 23
- *
- * - `%k`: Hours in 24h format, 0 through 23
- *
- * - `%I`: Two digits hours in 12h format, 00 through 11
- *
- * - `%l`: Hours in 12h format, 1 through 12
- *
- * - `%M`: Two digits minutes, 00 through 59
- *
- * - `%p`: Upper case AM or PM
- *
- * - `%P`: Lower case AM or PM
- *
- * - `%S`: Two digits seconds, 00 through 59
- *
- * - `%L`: Milliseconds (naming from Ruby)
- *
- * @param format
- * The desired format where various time representations are prefixed
- * with `%`.
- *
- * @param timestamp
- * The JavaScript timestamp.
- *
- * @param capitalize
- * Upper case first letter in the return.
- *
- * @return The formatted date.
- */
- export function dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
- /**
- * Check if an object is null or undefined.
- *
- * @param obj
- * The object to check.
- *
- * @return False if the object is null or undefined, otherwise true.
- */
- export function defined(obj: any): boolean;
- /**
- * Utility method that destroys any SVGElement instances that are properties on
- * the given object. It loops all properties and invokes destroy if there is a
- * destroy method. The property is then delete.
- *
- * @param obj
- * The object to destroy properties on.
- *
- * @param except
- * Exception, do not destroy this property, only delete it.
- */
- export function destroyObjectProperties(obj: any, except?: any): void;
- /**
- * Discard a HTML element by moving it to the bin and delete.
- *
- * @param element
- * The HTML node to discard.
- */
- export function discardElement(element: HTMLDOMElement): void;
- /**
- * Iterate over an array.
- *
- * @param arr
- * The array to iterate over.
- *
- * @param fn
- * The iterator callback. It passes three arguments:
- *
- * - `item`: The array item.
- *
- * - `index`: The item's index in the array.
- *
- * - `arr`: The array that each is being applied to.
- *
- * @param ctx
- * The context.
- */
- export function each(arr: Array<any>, fn: Function, ctx?: any): void;
- /**
- * Remove the last occurence of an item from an array.
- *
- * @param arr
- * The array.
- *
- * @param item
- * The item to remove.
- */
- export function erase(arr: Array<any>, item: any): void;
- /**
- * Provide error messages for debugging, with links to online explanation. This
- * function can be overridden to provide custom error handling.
- *
- * @param code
- * The error code. See errors.xml for available codes. If it is a string,
- * the error message is printed directly in the console.
- *
- * @param stop
- * Whether to throw an error or just log a warning in the console.
- *
- * @param chart
- * Reference to the chart that causes the error. Used in 'debugger'
- * module to display errors directly on the chart. Important note: This
- * argument is undefined for errors that lack access to the Chart
- * instance.
- *
- * @param params
- * Additional parameters for the generated message.
- */
- export function error(code: (number|string), stop?: boolean, chart?: Chart, params?: Dictionary<string>): void;
- /**
- * Utility function to extend an object with the members of another.
- *
- * @param a
- * The object to be extended.
- *
- * @param b
- * The object to add to the first one.
- *
- * @return Object a, the original object.
- */
- export function extend<T>(a: (T|undefined), b: object): T;
- /**
- * Extend a prototyped class by new members.
- *
- * @param parent
- * The parent prototype to inherit.
- *
- * @param members
- * A collection of prototype members to add or override compared to the
- * parent prototype.
- *
- * @return A new prototype.
- */
- export function extendClass<T>(parent: Class<T>, members: Dictionary<any>): Class<T>;
- /**
- * Return the value of the first element in the array that satisfies the
- * provided testing function.
- *
- * @param arr
- * The array to test.
- *
- * @param callback
- * The callback function. The function receives the item as the first
- * argument. Return `true` if this item satisfies the condition.
- *
- * @return The value of the element.
- */
- export function find<T>(arr: Array<T>, callback: Function): (T|undefined);
- /**
- * Fire an event that was registered with Highcharts#addEvent.
- *
- * @param el
- * The object to fire the event on. It can be a HTMLDOMElement, an
- * SVGElement or any other object.
- *
- * @param type
- * The type of event.
- *
- * @param eventArguments
- * Custom event arguments that are passed on as an argument to the event
- * handler.
- *
- * @param defaultFunction
- * The default function to execute if the other listeners haven't
- * returned false.
- */
- export function fireEvent<T>(el: T, type: string, eventArguments?: (Event|Dictionary<any>), defaultFunction?: (Function|EventCallbackFunction<T>)): void;
- /**
- * Format a string according to a subset of the rules of Python's String.format
- * method.
- *
- * @param str
- * The string to format.
- *
- * @param ctx
- * The context, a collection of key-value pairs where each key is
- * replaced by its value.
- *
- * @param chart
- * A `Chart` instance used to get numberFormatter and time.
- *
- * @return The formatted string.
- */
- export function format(str: string, ctx: Record<string, any>, chart?: Chart): string;
- /**
- * Get the defer as a number value from series animation options.
- *
- * @param chart
- * The chart instance.
- *
- * @return The numeric value.
- */
- export function getDeferredAnimation(chart: Chart): number;
- /**
- * Get the magnitude of a number.
- *
- * @param num
- * The number.
- *
- * @return The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.
- */
- export function getMagnitude(num: number): number;
- /**
- * Get the updated default options. Until 3.0.7, merely exposing defaultOptions
- * for outside modules wasn't enough because the setOptions method created a new
- * object.
- */
- export function getOptions(): Options;
- /**
- * Get the computed CSS value for given element and property, only for numerical
- * properties. For width and height, the dimension of the inner box (excluding
- * padding) is returned. Used for fitting the chart within the container.
- *
- * @param el
- * An HTML element.
- *
- * @param prop
- * The property name.
- *
- * @param toInt
- * Parse to integer.
- *
- * @return The numeric value.
- */
- export function getStyle(el: HTMLDOMElement, prop: string, toInt?: boolean): (number|string);
- /**
- * Filter an array by a callback.
- *
- * @param arr
- * The array to filter.
- *
- * @param callback
- * The callback function. The function receives the item as the first
- * argument. Return `true` if the item is to be preserved.
- *
- * @return A new, filtered array.
- */
- export function grep(arr: Array<any>, callback: Function): Array<any>;
- /**
- * Search for an item in an array.
- *
- * @param item
- * The item to search for.
- *
- * @param arr
- * The array or node collection to search in.
- *
- * @param fromIndex
- * The index to start searching from.
- *
- * @return The index within the array, or -1 if not found.
- */
- export function inArray(item: any, arr: Array<any>, fromIndex?: number): number;
- /**
- * Utility function to check if an item is an array.
- *
- * @param obj
- * The item to check.
- *
- * @return True if the argument is an array.
- */
- export function isArray(obj: any): boolean;
- /**
- * Utility function to check if an Object is a class.
- *
- * @param obj
- * The item to check.
- *
- * @return True if the argument is a class.
- */
- export function isClass(obj: (object|undefined)): boolean;
- /**
- * Utility function to check if an Object is a HTML Element.
- *
- * @param obj
- * The item to check.
- *
- * @return True if the argument is a HTML Element.
- */
- export function isDOMElement(obj: any): boolean;
- /**
- * Utility function to check if an item is a number and it is finite (not NaN,
- * Infinity or -Infinity).
- *
- * @param n
- * The item to check.
- *
- * @return True if the item is a finite number
- */
- export function isNumber(n: any): boolean;
- /**
- * Utility function to check if an item is of type object.
- *
- * @param obj
- * The item to check.
- *
- * @param strict
- * Also checks that the object is not an array.
- *
- * @return True if the argument is an object.
- */
- export function isObject(obj: any, strict?: boolean): boolean;
- /**
- * Utility function to check for string type.
- *
- * @param s
- * The item to check.
- *
- * @return True if the argument is a string.
- */
- export function isString(s: any): boolean;
- /**
- * Returns an array of a given object's own properties.
- *
- * @param obj
- * The object of which the properties are to be returned.
- *
- * @return An array of strings that represents all the properties.
- */
- export function keys(obj: any): Array<string>;
- /**
- * Map an array by a callback.
- *
- * @param arr
- * The array to map.
- *
- * @param fn
- * The callback function. Return the new value for the new array.
- *
- * @return A new array item with modified items.
- */
- export function map(arr: Array<any>, fn: Function): Array<any>;
- /**
- * Utility function to deep merge two or more objects and return a third object.
- * The merge function can also be used with a single object argument to create a
- * deep copy of an object.
- *
- * @param a
- * The first object to extend. When only this is given, the function
- * returns a deep copy.
- *
- * @param n
- * An object to merge into the previous one.
- *
- * @return The merged object. If the first argument is true, the return is the
- * same as the second argument.
- */
- export function merge<T>(a: (T|undefined), ...n: Array<(object|undefined)>): T;
- /**
- * Utility function to deep merge two or more objects and return a third object.
- * If the first argument is true, the contents of the second object is copied
- * into the first object. The merge function can also be used with a single
- * object argument to create a deep copy of an object.
- *
- * @param extend
- * Whether to extend the left-side object (a) or return a whole new
- * object.
- *
- * @param a
- * The first object to extend. When only this is given, the function
- * returns a deep copy.
- *
- * @param n
- * An object to merge into the previous one.
- *
- * @return The merged object. If the first argument is true, the return is the
- * same as the second argument.
- */
- export function merge<T>(extend: boolean, a: (T|undefined), ...n: Array<(object|undefined)>): T;
- /**
- * Take an interval and normalize it to multiples of round numbers.
- *
- * @param interval
- * The raw, un-rounded interval.
- *
- * @param multiples
- * Allowed multiples.
- *
- * @param magnitude
- * The magnitude of the number.
- *
- * @param allowDecimals
- * Whether to allow decimals.
- *
- * @param hasTickAmount
- * If it has tickAmount, avoid landing on tick intervals lower than
- * original.
- *
- * @return The normalized interval.
- */
- export function normalizeTickInterval(interval: number, multiples?: Array<any>, magnitude?: number, allowDecimals?: boolean, hasTickAmount?: boolean): number;
- /**
- * Format a number and return a string based on input settings.
- *
- * @param number
- * The input number to format.
- *
- * @param decimals
- * The amount of decimals. A value of -1 preserves the amount in the
- * input number.
- *
- * @param decimalPoint
- * The decimal point, defaults to the one given in the lang options, or a
- * dot.
- *
- * @param thousandsSep
- * The thousands separator, defaults to the one given in the lang
- * options, or a space character.
- *
- * @return The formatted number.
- */
- export function numberFormat(number: number, decimals: number, decimalPoint?: string, thousandsSep?: string): string;
- /**
- * Iterate over object key pairs in an object.
- *
- * @param obj
- * The object to iterate over.
- *
- * @param fn
- * The iterator callback. It passes three arguments:
- *
- * * value - The property value.
- *
- * * key - The property key.
- *
- * * obj - The object that objectEach is being applied to.
- *
- * @param ctx
- * The context.
- */
- export function objectEach<T>(obj: any, fn: ObjectEachCallbackFunction<T>, ctx?: T): void;
- /**
- * Get the element's offset position, corrected for `overflow: auto`.
- *
- * @param el
- * The DOM element.
- *
- * @return An object containing `left` and `top` properties for the position in
- * the page.
- */
- export function offset(el: Element): OffsetObject;
- /**
- * Left-pad a string to a given length by adding a character repetetively.
- *
- * @param number
- * The input string or number.
- *
- * @param length
- * The desired string length.
- *
- * @param padder
- * The character to pad with.
- *
- * @return The padded string.
- */
- export function pad(number: number, length?: number, padder?: string): string;
- /**
- * Return the first value that is not null or undefined.
- *
- * @param items
- * Variable number of arguments to inspect.
- *
- * @return The value of the first argument that is not null or undefined.
- */
- export function pick<T>(...items: Array<(T|null|undefined)>): T;
- /**
- * Reduce an array to a single value.
- *
- * @param arr
- * The array to reduce.
- *
- * @param fn
- * The callback function. Return the reduced value. Receives 4 arguments:
- * Accumulated/reduced value, current value, current array index, and the
- * array.
- *
- * @param initialValue
- * The initial value of the accumulator.
- *
- * @return The reduced value.
- */
- export function reduce(arr: Array<any>, fn: Function, initialValue: any): any;
- /**
- * Return a length based on either the integer value, or a percentage of a base.
- *
- * @param value
- * A percentage string or a number.
- *
- * @param base
- * The full length that represents 100%.
- *
- * @param offset
- * A pixel offset to apply for percentage values. Used internally in axis
- * positioning.
- *
- * @return The computed length.
- */
- export function relativeLength(value: RelativeSize, base: number, offset?: number): number;
- /**
- * Remove an event that was added with Highcharts#addEvent.
- *
- * @param el
- * The element to remove events on.
- *
- * @param type
- * The type of events to remove. If undefined, all events are removed
- * from the element.
- *
- * @param fn
- * The specific callback to remove. If undefined, all events that match
- * the element and optionally the type are removed.
- */
- export function removeEvent<T>(el: (T|Class<T>), type?: string, fn?: EventCallbackFunction<T>): void;
- /**
- * Factory to create new series prototypes.
- *
- * @param type
- * The series type name.
- *
- * @param parent
- * The parent series type name. Use `line` to inherit from the basic
- * Series object.
- *
- * @param options
- * The additional default options that are merged with the parent's
- * options.
- *
- * @param props
- * The properties (functions and primitives) to set on the new prototype.
- *
- * @param pointProps
- * Members for a series-specific extension of the Point prototype if
- * needed.
- *
- * @return The newly created prototype as extended from Series or its
- * derivatives.
- */
- export function seriesType(type: string, parent: string, options: (SeriesOptionsType|Dictionary<any>), props?: Dictionary<any>, pointProps?: Dictionary<any>): Series;
- /**
- * Set the global animation to either a given value, or fall back to the given
- * chart's animation option.
- *
- * @param animation
- * The animation object.
- *
- * @param chart
- * The chart instance.
- */
- export function setAnimation(animation: (boolean|Partial<AnimationOptionsObject>|undefined), chart: Chart): void;
- /**
- * Merge the default options with custom options and return the new options
- * structure. Commonly used for defining reusable templates.
- *
- * @param options
- * The new custom chart options.
- *
- * @return Updated options.
- */
- export function setOptions(options: Options): Options;
- /**
- * Test whether at least one element in the array passes the test implemented by
- * the provided function.
- *
- * @param arr
- * The array to test
- *
- * @param fn
- * The function to run on each item. Return truty to pass the test.
- * Receives arguments `currentValue`, `index` and `array`.
- *
- * @param ctx
- * The context.
- */
- export function some(arr: Array<any>, fn: Function, ctx: any): boolean;
- /**
- * Check if an element is an array, and if not, make it into an array.
- *
- * @param obj
- * The object to splat.
- *
- * @return The produced or original array.
- */
- export function splat(obj: any): any[];
- /**
- * Sort an object array and keep the order of equal items. The ECMAScript
- * standard does not specify the behaviour when items are equal.
- *
- * @param arr
- * The array to sort.
- *
- * @param sortFunction
- * The function to sort it with, like with regular Array.prototype.sort.
- */
- export function stableSort(arr: Array<any>, sortFunction: Function): void;
- /**
- * Stop running animation.
- *
- * @param el
- * The SVGElement to stop animation on.
- *
- * @param prop
- * The property to stop animating. If given, the stop method will stop a
- * single property from animating, while others continue.
- */
- export function stop(el: SVGElement, prop?: string): void;
- /**
- * Set a timeout if the delay is given, otherwise perform the function
- * synchronously.
- *
- * @param fn
- * The function callback.
- *
- * @param delay
- * Delay in milliseconds.
- *
- * @param context
- * An optional context to send to the function callback.
- *
- * @return An identifier for the timeout that can later be cleared with
- * Highcharts.clearTimeout. Returns -1 if there is no timeout.
- */
- export function syncTimeout(fn: Function, delay: number, context?: any): number;
- /**
- * Get a unique key for using in internal element id's and pointers. The key is
- * composed of a random hash specific to this Highcharts instance, and a
- * counter.
- *
- * @return A unique key.
- */
- export function uniqueKey(): string;
- /**
- * Activates a serial mode for element IDs provided by Highcharts.uniqueKey.
- * This mode can be used in automated tests, where a simple comparison of two
- * rendered SVG graphics is needed.
- *
- * **Note:** This is only for testing purposes and will break functionality in
- * webpages with multiple charts.
- *
- * @param mode
- * Changes the state of serial mode.
- *
- * @return State of the serial mode.
- */
- export function useSerialIds(mode?: boolean): (boolean|undefined);
- /**
- * Wrap a method with extended functionality, preserving the original function.
- *
- * @param obj
- * The context object that the method belongs to. In real cases, this is
- * often a prototype.
- *
- * @param method
- * The name of the method to extend.
- *
- * @param func
- * A wrapper function callback. This function is called with the same
- * arguments as the original function, except that the original function
- * is unshifted and passed as the first argument.
- */
- export function wrap(obj: any, method: string, func: WrapProceedFunction): void;
- declare global {
- /**
- * Highcharts-extended JQuery.
- */
- interface JQuery {
- /**
- * Helper function to return the chart of the current JQuery selector
- * element.
- *
- * @param className
- * Name of the factory class in the Highcharts namespace.
- *
- * @param options
- * The chart options structure.
- *
- * @param callback
- * Function to run when the chart has loaded and and all external
- * images are loaded. Defining a chart.events.load handler is
- * equivalent.
- *
- * @return The current JQuery selector.
- */
- highcharts(className?: (string|'Chart'|'Map'|'StockChart'), options?: Options, callback?: ChartCallbackFunction): JQuery;
- }
- }
- export as namespace Highcharts;
|